#L0520. 森林追踪

森林追踪

题目描述

两头牛闯入了 Farmer John 管理的森林区域。John 决定亲自去把它们追回来。你的任务是模拟 John 和牛在森林中的移动过程。

整个区域是一个 10×1010 \times 10 的网格。每个格子可以是:空地、障碍物、牛(两头牛始终在一起),或 Farmer John。牛和 John 可以占据同一个格子(当他们相遇时),但都不能进入有障碍的格子。

格子的表示方式:

  • . 表示空地;
  • * 表示障碍物;
  • C 表示两头牛;
  • F 表示 Farmer John。

以下是地图的一个示例:

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

牛按照固定规则移动:每分钟,它们先尝试沿当前方向前进一格;如果前方是障碍物或地图边界(边界等同于障碍物),则在本分钟内顺时针旋转 9090 度,但不改变位置。

Farmer John 了解牛的移动规则,因此也采用完全相同的移动方式。

John 和牛的移动是同时进行的。如果他们在移动过程中互相穿过但未在同一个格子内停留,则不算相遇。只有当某一分钟结束时他们位于同一个格子,才算追捕成功。

读入十行表示地图,每行恰好 1010 个字符。保证地图中只有一个 F 和一个 C,且它们初始不在同一格。

求 Farmer John 追上牛所需的分钟数。两人初始方向均为正北(即向上)。如果永远追不上,输出 00

输入格式

输入共十行,每行 1010 个字符,表示如上描述的地图。

输出格式

输出一个整数,表示 John 追上牛所需的分钟数。如果永远追不上,输出 00

样例

*...*.....
......*...
...*...*..
..........
...*.F....
*.....*...
...*......
..C......*
...*.*....
.*.*......
49
难度 普及
通过率
尝试 0
已通过 0
ID
1248
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者