移动
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
小A同学买了一个新的棋盘,这个棋盘由N+2个排成一列的方格组成。 这些方格按照从左到右的顺序,有0到N+1的编号。
- 0号格子和N+1号格子写有x,
- i号格子()写有Si,其中Si是字符.或者是#。
小A用一枚棋子玩耍,开始棋子在A号格子(),朝向右边,其中的字符是 . 。每过一秒,棋子就朝相应方向移动一格。 移动的规则如下
- 棋子移动到写有x的格子上,棋子的方向会反转。
- 棋子移动到写有.的格子上,不会发生任何事。
- 棋子移动到写有#的格子上,棋子的方向会反转,并将这个格子上的字符转化为 . 。因此,之后棋子
再次移动到这个格子,方向也不会反转。
另外,棋子方向的反转和字符的变更所花费的时间可以忽略不计。
请编写一种程序,求出在棋子开始的状态下,到所有写有#的格子都消失所需要的时间。
Format
Input
第一行输入两个整数,表示棋盘大小,和棋子的起始位置
第二行 N 个字符,第 i 个字符表示第 i 个格子上的内容
Output
输出一行一个整数,表示需要的时间。
Samples
7 3
.#.#..#
8
样例1结果如下表所示,>表示向右,<表示向左。
- X.#>#..#X
- X.#.<..#X
- X.#<...#X
- X.>....#X
- X..>...#X
- X...>..#X
- X....>.#X
- X.....>#X
- X......<X
4 1
.#.#
7
Limitation
约束
- 是字符.或#
- 至少存在一个#
数据范围
| 种类 | 分值 | 约束 |
|---|---|---|
| 1 | 40 | N<=3000 |
| 2 | 60 | 没有其他限制 |