만드는 중입니다

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

25시, 나이트 코포에서

시간 제한2초메모리 제한1024 MB

요약
첫 행의 지뢰 위치와 각 칸의 안전한 이웃 칸 수가 주어질 때, n×n 전체 지뢰 배치를 복원합니다.
난이도

보통10점 중 6점

유형
구현, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

전국 최고의 PS 명문 학교인 경기과학고등학교는 학생들이 자정 이후에 열리는 코드포스에 참가할 수 있도록 환경을 마련해 준다. 요이사키 종경은 그곳에서 가장 강한 참가자 중 한 명이다. 오늘 대회에 앞서 그는 좋아하는 애니메이션 "중2병이라도 ps가 하고 싶어!"를 보고 싶어 했다.

그런데 그보다 더 강한 라이벌 아사히나 기범이 그의 컴퓨터를 해킹해 개인 정보를 모두 털고, 코드포스에 틀린 제출을 하여 레이팅을 300300만큼 떨어뜨렸다. 분노한 종경은 기범의 컴퓨터를 물리적으로 해킹하기로 한다.

기범의 컴퓨터에 침입하려면 NP-Hard로 알려진 지뢰 찾기를 풀어야 한다. 종경은 마법 능력으로 모든 칸에 대해, 그 칸과 한 점 이상을 공유하는 안전한 칸의 개수를 알아냈다. 또한 첫 행의 각 칸에 지뢰가 있는지도 알아냈다. 이 작업으로 지친 종경이 당신에게 도움을 요청했다. 종경이 지뢰 찾기를 해결하도록 도와주자!

입력

첫째 줄에 양의 정수 nn이 주어진다. 둘째 줄에는 nn개의 정수 a1a_1, ⋯\cdots, ana_n이 주어진다. aia_i가 11이면 1행 ii열 칸에 지뢰가 있고, 그렇지 않으면 지뢰가 없다.

셋째 줄부터 (n+2)(n+2)번째 줄까지 한 줄에 하나씩 nn개의 수가 주어진다. i+2i+2번째 줄의 jj번째 수는 ii행 jj열 칸 자신을 제외하고 한 점 이상을 공유하는 칸들 중 지뢰가 없는 칸의 개수이다.

조건에 맞는 지뢰 배치가 존재하는 입력만 주어진다. 이 배치가 하나뿐임을 증명할 수 있다.

출력

nn개의 줄에 한 줄에 nn개씩 수를 출력한다. ii행 jj열의 수는 해당 칸에 지뢰가 있으면 11, 없으면 00이다.

제한

  • 4≤n≤10004 \le n \le 1000
  • nn을 33으로 나눈 나머지는 22가 아니다.

예제1

  1. 예제 1

    입력
    4
    1 0 1 1
    3 3 3 1
    3 4 4 2
    5 5 5 1
    2 2 3 1
    
    예상 출력
    1 0 1 1
    0 0 0 1
    1 0 1 0
    0 0 1 1