#agc034a. [agc034_a]Kenken Race

[agc034_a]Kenken Race

题目描述

NN 个方块排成一行,从左到右编号为 1,2,...,N1, 2, ..., N。给定一个长度为 NN 的字符串 SS,由 .# 组成。如果 SS 的第 ii 个字符是 #,则方块 ii 中有一块石头;如果 SS 的第 ii 个字符是 .,则方块 ii 是空的。

一开始,Snuke 站在方块 AA 上,Fnuke 站在方块 BB 上。

你可以重复进行以下操作任意次:

  • 选择 Snuke 或 Fnuke,让他向右跳一格或两格。目标位置必须是一个方块,并且不能有石头或另一个人。

你希望重复这个操作,使得 Snuke 站在方块 CC 上,Fnuke 站在方块 DD 上。

判断是否可能实现这个目标。

约束条件

  • 4N2000004 \leq N \leq 200000
  • SS 是一个长度为 NN 的字符串,由 .# 组成。
  • 1A,B,C,DN1 \leq A, B, C, D \leq N
  • 方块 A,B,CA, B, CDD 上没有石头。
  • A,B,C,DA, B, C, D 互不相同。
  • A<BA < B
  • A<CA < C
  • B<DB < D

输入

输入以以下格式从标准输入给出:

NN AA BB CC DD SS

输出

如果可以实现目标,打印 Yes,否则打印 No

示例输入1

7 1 3 6 7
.#..#..

示例输出1

Yes

例如,通过以下方式将两个人移动到指定位置:

A#B.#..

A#.B#..

.#AB#..

.#A.#B.

.#.A#B.

.#.A#.B

.#..#AB

示例输入2

7 1 3 7 6
.#..#..

示例输出2

No

示例输入3

15 1 3 15 13
...#.#...#.#...

示例输出3

Yes