#P4668. [BalticOI 2011] Treasures and Vikings (Day1)
[BalticOI 2011] Treasures and Vikings (Day1)
Description
你有一张藏宝图,这张地图被划分为一个 的网格。一个网格可能是海洋或者是岛屿的一部分。此外,地图上标出了宝藏和占据一个(海洋)方格的敌方维京船。最后,为了方便起见,你还标出了你自己的位置。
现在你必须设置一条固定的路线去获得宝藏。路线必须从你的起始位置开始,以宝藏为终点,并由一系列移动组成。在每次移动中,你只能移动到一个(水平或垂直)相邻的非岛屿方格。但要小心:维京船可能会跟随你,使用相同的移动方式!在你按照路线进行每次移动后,维京船可能会移动也可能不动。你的移动和维京船的反应合称为一轮。
在每轮之后,进行以下检查:
- 如果你与维京船在同一条直线上(你与维京船在同一垂直或水平线上,并且中间只有海洋),你就死了。
- 如果你没有死并且在宝藏点上,你就获得了宝藏。
编写一个程序来决定是否可以提前设置一条固定路线,使你可以通过这条路线获得宝藏,并且不会被维京人杀死——无论维京船如何移动。
Input Format
输入的第一行包含两个整数 和 ,表示地图的尺寸。接下来的 行中的每一行包含 个字符。每个字符描述地图上的一个方格,可以是 .(海洋)、I(岛屿的一部分)、V(维京船)、Y(你的位置)或 T(宝藏)。V、Y 和 T 各出现一次。
Output Format
输出的唯一一行必须包含字符串 YES,如果可以设置一条路线来获得宝藏;否则输出 NO。
5 7
Y.....V
..I....
..IIIII
.......
...T...
YES
5 7
Y....V.
..I....
..IIIII
.......
...T...
NO
2 3
.YT
VII
NO
Hint
样例解释 1
路线是:向下走三次,向右走三次,最后再向下走一次。
数据范围
对于 的数据,。
对于所有数据,。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号