2817 - 冒险岛

题目描述

A 开发一款《冒险岛》游戏。

在这个游戏中,有 2 个角色,一个是游戏主人公 Freda,另一个是机器人 Cameron

游戏在 10 \times 10 的平面网格地图中进行,其中有一些格子是墙壁,不能通过。FredaCameron 都不能进入标记为墙壁的格子。

地图中的格子有如下几种情况:

  1. . 空地。
  2. * 墙壁。
  3. C 机器人 Cameron
  4. F 主人公 Freda

这里有一个平面网格地图的例子:

*...*.....
......*...
...*...*..
.....F....
...*......
*.....*...
...*......
..C......*
...*.*....
.*.*......

游戏的目标是要让主人公 Freda 抓到机器人 Cameron

机器人在地图里以固定的方式移动。每分钟,他可以向前移动或是转弯。如果前方无障碍,且没有走出地图的边界,他会按照原来的方向前进一步。否则他会用这一分钟顺时针转 90

主人公 Freda 也按照一样的规则,在地图中移动。每次(每分钟)Freda 和机器人的移动是同时进行的。这就意味着如果他们在移动的时候穿过对方,但是没有在同一格相遇,我们不认为 Freda 抓到了机器人。比如,在某时刻,Freda 在机器人的正左侧准备向右移动,机器人在 Freda 正右侧准备向左移动。且那么在下一分钟,Freda 和 机器人的位置会同时改变,他们正好穿过了对方。

当他们在某分钟末在某格子相遇,那么游戏结束。

读入 10 \times 10 的平面网格地图。地图数据中只有一个 F 和一个 CFC 一开始不会处于同一个格子中。

请编程计算 Freda 需要多少分钟才能抓到机器人。初始状态下,机器人和 Freda 都准备向上移动。

如果 Freda 永远都抓不到机器人,请输出 0

输入

读入 10 \times 10 的平面网格地图。

输出

输出一整数,代表 Freda 抓到机器人需要多少分钟。如果永远抓不到,请输出 0

样例

输入

*...*....*
.......*..
.*...*....
.*.C...F..
....*..**.
*.......*.
......**..
*.........
..*...*..*
*.....*.*.

输出

20

输入

*...*.....
......*...
...*...*..
.....F....
...*......
*.....*...
...*......
..C......*
...*.*....
.*.*......

输出

61

输入

..........
.********.
.********C
.********.
.********.
.********.
.********.
.********.
.********.
F.........

输出

0
来源

USACO 2.4

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 39
通过人数 23
金币数量 1 枚
难度 入门


上一题 下一题