#4990. Synchronized Players
0
Synchronized Players
Synchronized Players
题目描述
有一个 的网格,每个格子要么是空的要么包含障碍物。令 表示从上数第 行、从左数第 列的格子。 网格上还有两个处在不同空格子的玩家。关于每个格子的 信息 由 个长度为 的字符串 给出,格式如下:
如果 的第 个字符是 ,则 是一个有玩家的空格子。
如果 的第 个字符是 ,则 是一个没有玩家的空格子。
如果 的第 个字符是 #,则 包含一个障碍物。
通过重复下述操作,求将两个玩家移动到同一格子所需的最小步数。如果不可能通过重复该操作将两个玩家移到同一格子,则输出 。
选择四个方向中的一个:上、下、左或右。然后,每个玩家尝试向该方向相邻的格子移动。如果目标格子存在且为空,则该玩家移动,否则该玩家不移动。
输入格式
输入采用标准输入,格式如下:
输出格式
输出答案。
5
....#
#..#.
.P...
..P..
....#
3
2
P#
#P
-1
10
..........
..........
..........
..........
....P.....
.....P....
..........
..........
..........
..........
10
提示
是一个介于 到 (含)之间的整数。 是一个长度为 的由 、 和 # 组成的字符串。 恰好有两个位置 满足 的第 个字符是 。我们称起始于 的玩家为玩家 1,起始于 的玩家为玩家 2。 例如,按下述操作可以在三步内将两名玩家移到同一格子:
选择左。玩家 1 移动到 ,玩家 2 移动到 。
选择上。玩家 1 不移动,玩家 2 移动到 。
选择左。玩家 1 不移动,玩家 2 移动到 。
标签: AtCoder|abc339D
来源
AtCoder|abc339D