U469854 星环跑道
题目背景
>星环跑道记得跑满两圈哦。
题目描述
但凡是玩了一段时间的蛋仔玩家,都知道蛋仔里有一关,叫做“星环跑道”。
在这一关里,玩家需绕过障碍,拿到加速,争取第一。
离开蛋仔两个半月的小任虽然现在已经玩不到蛋仔,可还是想念他在蛋仔里最爱玩儿的一关:“星环跑道”。所以他想请你帮他还原一下“星环跑道”这关。
小任想让你做的简易版的“星环跑道”有以下规则
>1. 小任会给你一个“星环跑道”的一个 $n*m$ 的矩阵地图,每走每一格视为过了一秒,你只能走你的那一列,其他列上有其他选手。
>2. 要在“星环跑道”上跑2圈(因为小任是给你的是一个 $n*m$ 的矩阵地图,所以跑两圈就是在这个地图上跑两个矩阵地图,也就是“第一圈”跑到最后时,返回起点再跑一圈)
>3. 在 $n*m$ 的矩阵地图中,有 $11$ 个字符具体见下表:
| 符号 | 意思 |
| :----------: | :----------: |
| o(小写字母) | 悬浮 |
| * | 冲刺 |
| ^ | 障碍|
| % | 炸弹(它炸你) |
| @ | 你初始的位置 |
| # | 墙壁 |
| . | 平路 |
| Z | 炸弹(你炸别人) |
| Y | 烟雾弹(你炸别人) |
| J | 加速 |
| G | 钩爪 |
分别的详细解释:
- `o`(注意不是 $0$ ,是小写字母o)悬浮,可以用来悬浮3格,也就是无视这3格的任意道具和障碍(炸弹也算)。
- `*` 冲刺,可以用来在1秒内冲刺2格,也会无视这2格的任意道具和障碍(炸弹也算)。
- `^` 障碍,碰到时间加1,随后穿过(不会被挡在那)。
- `%` 炸弹(注意是它炸你),被炸到后退一格。
- `@` 你初始的位置,没啥鸟用,就是告诉你,你在哪一列,这个位置不记在总时长里(就是不加1),其他列的选手第一格是`.`,同上,也不记。
- `#` 墙壁,不会在选手的那几列上出现,是在两边当装饰用的。
- `.` 平路,没有任何道具。
- `Z` 炸弹(注意是你炸别人),可以炸你相邻列且在你前后3格(共6格)的选手,使其后退1格。
- `Y` 烟雾弹(注意是你炸别人),可以炸你相邻列且在你前后3格(共6格)的选手,使其暂停1秒。
- `J` 加速,可以用来加速,在1秒内跑1.5格,维持2秒,也会无视这1.5*2格的任意道具和障碍(炸弹也算)。
- `G` 钩爪,可以用来在1秒飞出3格,也会无视这3格的任意道具和障碍(炸弹也算)。
注意:上面的这些道具和障碍对除你以外的其他选手也适用,就比如说,在你傍旁边行的前面2格的选手捡到了炸弹(如其他选手也在他的炸蛋范围内,他会先选择炸你,其他道具同理),你后退1格。
>4.道具捡到即用,炸弹和烟雾弹在捡到的那格炸不到别人,视为丢弃。
输入格式
第一行两个整数:$n$ $m$ 。
接下来输入一个 $n$ 行 $m$ 列的矩阵地图
输出格式
输出你是第几名,如果是第一名,输出 `MVP` 如果是平局,输出 `pin` ,其他一律输出数字。
说明/提示
$1\le n,m\le 30$