此题实际上题意很简单,并且可以观察到10的8次方是要大于整个棋盘的,所以如果在这之后仍在棋盘,那么一定构成了循环,我们可以对棋盘进行模拟,并对路径进行标记,为0表示未走过,为1表示是可循环的路径,为2表示会走出去的路径,为3表示正在模拟中的路径,若在走的过程中碰见了1则此条路径也是循环的,碰见2则此题路径会走出去,碰见3则此条路径构成循环,走出去了则表示此条路径会走出去,实时记录走过的路径并做好标记即可,考验代码基本功
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
小红的冒险家们!今天,我们要进入一个充满挑战的高科技迷宫。
这是一张由小红科技部最新研发的网格地图,每个格子都藏着秘密————它们内置了自动滑行带!
这些滑行带会让所有进入它们的机器人自动朝一个特定方向滑行。
具体来说,一张n×m的网格地图,左上角为(1,1),右下角为(n,m),每个格子有一个滑行带,前进方向为 L,R,U,D,分别表示左右上下四个方向前进。
如果第t时刻,机器人位于(i,j),(i,j)滑行带前进方向为L,则第t+1时刻机器人位于 (i,j−1)。
如果第t时刻,机器人位于(i,j),(i,j)滑行带前进方向为R,则第t+1时刻机器人位于(i,j+1)。
如果第t时刻,机器人位于(i,j),(i,j)滑行带前进方向为U,则第t+1时刻机器人位于 (i−1,j)。
如果第t时刻,机器人位于(i,j),(i,j)滑行带前进方向为D,则第t+1时刻机器人位于(i+1,j)。
机器人走出地图后就会毁坏,一个格子可以容纳多个机器人。
第0时刻,每个位置都有一个机器人,问:第108时刻,地图上还剩下多少个机器人?
第一行两个整数n m(1≤n×m≤5×103),表示地图大小。
接下来n行,每行一个包含m个字符的字符串,表示每个格子滑行带的方向。
输出一行一个整数,表示第108时刻,地图上剩下机器人的数量。
输入
2 5
LRRLR
UULLR
输出
6