atcoder#AGC034A. [AGC034A] Kenken Race

[AGC034A] Kenken Race

题目描述

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

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

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

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

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

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

输入格式

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

N N A A B B C C D D S S

输出格式

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

题目大意

有一排 nn 个格子,编号为 1,2,...n1,2,...n,每个格子为 #(障碍)或者 .(可停留处)

有两个棋子,初始位置为 A,BA,B,分别将其移动到 C,DC,D 两个格子上。

要求:

  • 棋子每次跳 1122 步,只能向右移。
  • 不可以在障碍处停留,不能跳到已经有棋子的格子。

求:能否使 AA 中的棋子最终到达 CCBB 中的棋子最终到达 DD

保证 A<B,A<C,B<DA<B,A<C,B<D

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

提示

制約

  • 4  N  200,000 4\ \leq\ N\ \leq\ 200,000
  • S S ., # からなる長さ N N の文字列
  • 1  A, B, C, D  N 1\ \leq\ A,\ B,\ C,\ D\ \leq\ N
  • マス目 A, B, C, D A,\ B,\ C,\ D に岩は置かれていない
  • A, B, C, D A,\ B,\ C,\ D はすべて異なる
  • A < B A\ <\ B
  • A < C A\ <\ C
  • B < D B\ <\ D

Sample Explanation 1

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