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 翻译