信息学竞赛宝典:基础算法
上QQ阅读APP看书,第一时间看更新

1.1.8 推棋子

【上机练习】推棋子(game)HDU 2414

一张8×8的棋盘,棋盘上有一些棋子和一个玩偶,操作方式有4种,描述如下。

(1)move n:n是非负整数,表示玩偶按目前所在方向前进n步,如果即将走出棋盘,则停止;如果面前有棋子,则将其向前推一步,棋子可以被推出棋盘。

(2)turn left:向左转90°。

(3)turn right:向右转90°。

(4)turn back:向后转。

已知玩偶的初始位置和方向,求经过一系列操作后的棋盘状态。

【输入格式】

输入前8行,每行8个字符,表示棋盘初始状态。其中“.”表示该格为空,字母表示棋子,不同字母表示不同的棋子。玩偶所在位置用“∧”“”“”“∨”这4个符号中的1个表示,分别表示上、左、右、下4个方向。

接下来有若干行,每行表示一个操作,最后一行以“#”结束。操作数不超过1000个。

【输出格式】

输出8行,每行8个字符,表示经过一系列操作后棋盘和玩偶的状态。

【输入样例】

......bA

.....^..

........

........

........

........

........

........

move 2

turn right

move 1

#

【输出样例】

......b

........

........

........

........

........

........

........