题号:NC207619
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给你一个 10 行 10 列的地图,地图上有一定数量的箱子和一个人,现在让你完成一些操作,输出最后的地图状态。
操作有四种,描述如下:
move x: x是非负整数,表示你向正上方前进 x 步,如果即将走出地图,则停止。如果面前有箱子,则将其向前推,可同时推多个箱子。
turn left: 地图向左旋转90度
turn right: 地图向右旋转90度
turn back: 地图向右旋转180度
输入描述:
第一行包含一个整数 T ( 1 ≤ T ≤ 10 ) 表示共有T组测试样例;
输入前 10 行,每行10个字符,给出棋盘状态。“.”表示该格为空,“@”表示人,字母表示的箱子。
接下来每组的第一行有一个整数 k ( 1 ≤ k ≤ 1000 ) k 为操作数
接下来 k 行,每行一个操作( 1 ≤ x ≤ 10 )
输出描述:
输出 10 * 10 的地图状态
示例1
输入
复制
1
..........
..........
..........
..........
..........
..........
.....@....
.........a
.........b
.........c
4
turn left
move 8
turn left
move 1
输出
复制
b.........
a.........
@.........
..........
..........
..........
..........
..........
..........
..........