페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4575

오델로 2s 512MB

문제

오델로는 두 사람이 8×8 격자판에서 서로의 돌을 번갈아 놓으면서 상대의 돌을 자신의 돌로 바꾸는 게임이다. 

<그림 1>은 오델로를 하는 중간 과정의 예시다.

새로 돌을 놓으려는 칸이 비어 있고, 8방향의 다른 자신의 돌 사이에 

빈 칸 없이 상대의 돌이 하나 이상 있다면 해당 칸에 돌을 놓을 수 있다. 

<그림 1>의 상태에서는 <그림 2>의 검은 별 위치에 검은 돌을 놓을 수 있다.

예를 들어, 8행 2열은 4행 2열의 검은 돌 사이에 흰 돌이 3개 있어서 놓을 수 있고,

7행 7열은 5행 5열의 검은 돌 사이에 흰 돌이 1개 있어서 놓을 수 있다.

반면에, 5행 8열은 5행 5열의 검은 돌 사이에 흰 돌이 1개 있지만 빈 칸이 있기 때문에 놓을 수 없고, 

7행 8열도 2행 3열의 검은 돌 사이에 흰 돌이 3개 있지만 빈 칸이 있기 때문에 놓을 수 없다.

요정 윙과 요정 로웬은 오델로 게임을 하기 전에, 돌을 놓을 수 있는 위치가 어디인지 찾는 연습을 먼저 하려고 한다.

연습에서 요정 윙은 검은 돌, 요정 로웬은 흰 돌을 놓았다. 

8×8 격자판 위에 요정 윙과 요정 로웬이 돌을 아무렇게나 놓은 상태에서, 요정 윙이 검은 돌을 새로 놓을 수 있는 위치를 모두 구하자. 

요정 윙과 요정 로웬이 돌을 한 개도 놓지 않거나, 격자판을 돌로 가득 채웠을 수도 있다.​


입력

8개의 줄에 걸쳐 8×8 격자판의 상태가 주어진다. 

0은 빈 칸, 1은 요정 윙의 검은 돌, 2는 요정 로웬의 흰 돌이다.​

 

종류 1 (100점): 추가적인 제한 조건이 없음. 


출력

8개의 줄에 걸쳐 각 칸에 요정 윙이 검은 돌을 새로 놓을 수 있으면 1, 아니면 0을 출력한다. 


예제

1 0 1 0 1 1 2 0

1 1 1 1 2 1 2 2
1 1 1 2 2 2 2 0
1 1 1 2 2 2 2 1
1 2 1 1 1 0 2 0
2 2 2 2 1 2 2 0
0 2 0 0 0 2 0 0
2 0 0 0 0 2 0 0
0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
1 0 1 1 1 0 1 0
0 1 0 0 0 0 1 0

출처

NYPC2020 본선1|ohjtgood
로그인해야 코드를 작성할 수 있어요.