AT_agc034_a [AGC034A] Kenken Race
题目描述
有 $N$ 个格子排成一行,从左到右依次编号为 $1, 2, \ldots, N$。给定一个长度为 $N$ 的仅由 `.` 和 `#` 组成的字符串 $S$,其中 $S$ 的第 $i$ 个字符为 `#` 表示第 $i$ 个格子上有一块岩石,为 `.` 表示该格子为空。
一开始,すぬけ君在第 $A$ 个格子,ふぬけ君在第 $B$ 个格子。
你可以任意多次重复以下操作:
- 选择すぬけ君或ふぬけ君,让他向右跳 $1$ 格或 $2$ 格。跳到的格子必须存在,且该格子上不能有岩石,也不能有另一个人。
你需要通过若干次操作,使得すぬけ君到达第 $C$ 个格子,ふぬけ君到达第 $D$ 个格子。
请判断是否可以实现上述目标。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A$ $B$ $C$ $D$ $S$
输出格式
如果可以实现目标,输出 `Yes`,否则输出 `No`。
说明/提示
## 限制条件
- $4 \leq N \leq 200,\!000$
- $S$ 是仅由 `.` 和 `#` 组成的长度为 $N$ 的字符串
- $1 \leq A, B, C, D \leq N$
- 第 $A$、$B$、$C$、$D$ 个格子上没有岩石
- $A$、$B$、$C$、$D$ 互不相同
- $A < B$
- $A < C$
- $B < D$
## 样例解释 1
例如,可以按如下方式移动(用 `A` 表示すぬけ君,用 `B` 表示ふぬけ君):
```
A#B.#..
A#.B#..
.#AB#..
.#A.#B.
.#.A#B.
.#.A#.B
.#..#AB
```
由 ChatGPT 4.1 翻译