atcoder#AGC034A. [AGC034A] Kenken Race

[AGC034A] Kenken Race

配点 : 400400

問題文

NN 個の一列に並んだマス目があり、左から順に番号 1,2,...,N1, 2, ..., N がついています。長さ NN., # からなる文字列 SS が与えられ、SSii 文字目が # のときマス目 ii には岩が置かれており、SSii 文字目が . のときマス目 ii には何も置かれていません。

最初、マス目 AA にすぬけ君、BB にふぬけ君がいます。

あなたは以下の操作を好きなだけ繰り返すことができます。

  • すぬけ君かふぬけ君を選び、11 マス右か 22 マス右にジャンプさせる。このときジャンプ先にマスが存在しなければならず、またそのマスに岩が置かれていたりもう一人がいてはならない。

あなたはこの操作を繰り返し、マス目 CC にすぬけ君が、DD にふぬけ君がいるようにしたいです。

このようなことが可能かどうかを判定してください。

制約

  • 4N200,0004 \leq N \leq 200,000
  • SS., # からなる長さ NN の文字列
  • 1A,B,C,DN1 \leq A, B, C, D \leq N
  • マス目 A,B,C,DA, B, C, D に岩は置かれていない
  • A,B,C,DA, B, C, D はすべて異なる
  • A<BA < B
  • A<CA < C
  • B<DB < D

入力

入力は以下の形式で標準入力から与えられる。

NN AA BB CC DD

SS

出力

題意が達成可能ならば Yes、不可能ならば No を出力せよ。

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

たとえば、以下のように移動させれば良いです(すぬけ君、ふぬけ君を A, B で表します)

A#B.#..

A#.B#..

.#AB#..

.#A.#B.

.#.A#B.

.#.A#.B

.#..#AB
7 1 3 7 6
.#..#..
No
15 1 3 15 13
...#.#...#.#...
Yes