T2 士兵
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
你手里有一个行列的空间,为'.'的点是空的区域,为'X'的区域有一个障碍。
你将在第一行派出个士兵,第个士兵的起点为列,且会尽可能地向第行进发,规则如下:
- 如果当前位置的下一行是空格,则向下移动一格
- 如果当前位置的下一行是障碍或者已经到了第行,则停止。
- 如果下一行是已停止的士兵,则当前位置的左侧和左下位置都为空时,会向左移动一列;如果右侧和右下位置都为空时,会向右移动一列;如果都不为满足,则停止不动。
每个士兵将会在前一个士兵停止不动后再出发,停止后要将所在位置修改存为'O'。
输入格式
第一行两个整数。
接下来行,每行个字符表示初始的地图,每个字符可能为'.'或'X'。
接下来一个整数表示士兵的数量。
接下来行,第行一个整数表示第个士兵从第一行第列依次出发。
输出格式
你需要输出一个行,每行个字符表示所有士兵停止移动后的地图。
输入输出样例
样例输入 #1
5 4
....
....
X...
....
....
4
1
1
1
1
样例输出 #1
....
O...
X...
....
OOO.
样例解释 #1
四位士兵都从第一行第一列出发。第一个士兵将被障碍挡住,停在第二行第一列。第二个士兵将会先向右下移动,然后一直向下移动。第三个士兵先向下移动,遇到第一个士兵后向右移动,遇到第二个士兵后向左移动。第四个士兵先向下移动,遇到第一个士兵后向右移动,遇到第二个士兵后将会向右移动。
样例输入 #2
7 6
......
......
...XX.
......
......
.XX...
......
6
1
4
4
6
4
4
样例输出 #2
......
...O..
...XX.
......
.OO...
.XX...
O..O.O
样例解释 #1
第一个士兵将会到达第行第列,第二个士兵将会到达第行第列,第三个士兵将会到达第行第列,第四个士兵将会到达第行第列,第五个士兵第行第列,第六个士兵将会到达第行第列。
数据范围与约定
- 对于 的数据,保证。
- 对于 的数据,保证$1\leq n \leq 3*10^4,1\leq m \leq 30,1\leq k \leq 10^5$,保证不会"堵塞"。
友爸信奥-2024CSPJ组复赛-十连测-第六测
- 状态
- 已结束
- 规则
- IOI(严格)
- 题目
- 4
- 开始于
- 2024-10-8 12:00
- 结束于
- 2025-2-28 10:00
- 持续时间
- 3430 小时
- 主持人
- 参赛人数
- 39