만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

교대 탈출

시간 제한8초메모리 제한512 MB

요약
Bob이 자기 차례에 모든 벽의 유무를 뒤집을 수 있는 격자에서, Alice가 최적으로 두는 Bob을 상대로 토큰을 판 밖으로 내보낼 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
그래프, 게임 이론, BFS, 구현
정답자
아직 제출이 없습니다

문제

Alice와 Bob이 보드 게임을 하고 있다. 이 게임은 H행 W열의 칸이 그려진 판과 말 하나로 진행한다. 판의 왼쪽 위 칸을 1행 1열로 두고, 아래쪽으로 행을, 오른쪽으로 열을 센다.

서로 이웃한 칸 사이의 변과 칸이 판 바깥과 맞닿는 변에는 벽을 둘 수 있으며, 게임을 시작할 때 각 변에 벽이 있는지 없는지가 정해져 있다. 또 게임을 시작할 때 말은 판의 어느 한 칸에 놓여 있다.

Alice와 Bob은 번갈아 가며 차례를 진행한다. 게임은 Alice의 차례부터 시작한다. Alice의 목표는 말을 판 바깥으로 움직여 미로에서 탈출시키는 것이다. Alice가 한 차례에 할 수 있는 행동은 말을 지금 있는 칸에서 상하좌우로 이웃한 칸 중 사이의 변에 벽이 없는 방향의 칸으로 옮기는 것이다. 말이 있는 칸이 판 바깥과 맞닿아 있고 그 사이의 변에 벽이 없다면 그쪽으로 말을 탈출시킬 수 있다.

한편 Bob의 목표는 말의 탈출을 방해하는 것이다. Bob은 자기 차례에 벽의 유무를 뒤집거나, 아무것도 하지 않고 차례를 마치는 것 중 하나를 고를 수 있다. 벽의 유무를 뒤집기로 했다면 판의 모든 칸의 변에 대해 벽의 유무가 뒤집힌다.

판의 초기 상태와 말의 초기 위치가 주어질 때, Alice와 Bob이 모두 최적으로 행동했을 때 Alice가 말을 판에서 탈출시킬 수 있는지 판정하라. 단, Alice의 차례에 말이 4방향 모두 벽으로 둘러싸여 있다면 탈출할 수 없는 것으로 본다.

입력

입력은 40개 이하의 데이터 세트로 이루어진다. 각 데이터 세트는 다음 형식으로 주어진다.

H W R C
 Horz1,1 Horz1,2 ... Horz1,W
Vert1,1 Vert1,2 ... Vert1,W+1
...
VertH,1 VertH,2 ... VertH,W+1
 HorzH+1,1 HorzH+1,2 ... HorzH+1,W

첫 줄에는 네 정수 H, W (1 ≤ H, W ≤ 500), R, C (1 ≤ R ≤ H, 1 ≤ C ≤ W)가 주어진다. 이는 판이 H행 W열의 칸으로 이루어지고 말의 초기 위치가 R행 C열이라는 뜻이다.

이어지는 2H + 1개 줄에는 판의 초기 상태가 주어진다.

2i번째 줄 (1 ≤ i ≤ H + 1)은 W개 정수 Horz``i,1, Horz``i,2, ..., Horz``i,W를 포함한다. Horz``i,j는 i행 j열 칸의 위쪽 변에 벽이 있으면 1, 없으면 0이다. 단, Horz``H+1,j는 H행 j열 칸의 아래쪽 변에 벽이 있는지를 나타낸다.

2i + 1번째 줄 (1 ≤ i ≤ H)은 W + 1개 정수 Vert``i,1, Vert``i,2, ..., Vert``i,W+1을 포함한다. Vert``i,j는 i행 j열 칸의 왼쪽 변에 벽이 있으면 1, 없으면 0이다. 단, Vert``i,W+1은 i행 W열 칸의 오른쪽 변에 벽이 있는지를 나타낸다.

입력의 끝은 네 개의 0으로 이루어진 한 줄로 표시된다.

출력

각 데이터 세트에 대해 Alice가 말을 판에서 탈출시킬 수 있으면 Yes, 없으면 No를 한 줄에 출력하라.

힌트

1번째 데이터 세트에서 Alice는 다음과 같이 움직여 말을 탈출시킬 수 있다.

  1. 초기 상태
  2. Alice가 말을 왼쪽으로 옮긴다
  3. Bob은 탈출을 막기 위해 벽을 뒤집는다
  4. Alice가 말을 위로 옮긴다

Bob이 다음 차례에 벽의 유무를 뒤집든 뒤집지 않든, Alice는 그다음 차례에 말을 탈출시킬 수 있다.

예제1

  1. 예제 1

    입력
    3 3 2 2
     1 1 1
    0 0 0 0
     1 1 1
    0 0 0 0
     1 1 1
    0 0 0 0
     1 1 1
    3 3 2 2
     1 0 1
    1 0 1 1
     1 0 0
    0 0 0 0
     0 0 1
    1 1 0 1
     1 0 1
    1 3 1 1
     1 1 1
    1 0 0 1
     1 0 1
    2 2 1 1
     1 0
    1 0 0
     0 0
    0 0 0
     0 0
    0 0 0 0
    
    예상 출력
    Yes
    No
    Yes
    No