만드는 중입니다

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

동전

면접 대비

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

요약
N x N 격자에 놓인 구리 동전과 은 동전을 재배치해, 구리 동전이 왼쪽 위 계단 모양 영역에 모이도록 하는 최소 교환 횟수를 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 행렬, 누적 합
정답자
아직 제출이 없습니다

문제

격자판의 크기는 N×NN \times N이고, NN은 짝수이다. 각 칸에 동전이 하나씩 놓여 있다. 은화와 동화가 정확히 절반씩 있다.

동화가 격자판의 왼쪽 위 영역에, 은화가 오른쪽 아래 영역에 모두 놓여 있으면 동전이 올바르게 배치된 것이다. 정확히 말하면, 한 칸의 변이 서로 다른 종류의 동전 사이의 경계일 때, 동화는 은화의 왼쪽이나 위쪽에 있어야 한다.

올바른 배치잘못된 배치

그림 1: 오른쪽과 같은 배치가 없으면 동전이 올바르게 배치된 것이다. 검은 원은 동화, 흰 원은 은화를 나타낸다.

격자판에 잘못 배치된 동전들이 주어진다. 교환하는 쌍의 수를 가능한 한 적게 하여 올바른 배치가 되도록 동전을 옮겨라.

입력

첫 줄에 정수 네 개 TT, NN, K1K_1, K2K_2가 주어진다.

  • TT는 테스트 번호이다.
  • NN은 격자판의 크기이다.
  • K1K_1과 K2K_2는 채점 방식을 정하는 값이다 (채점 절 참고).

나머지 NN개의 줄에는 각각 정수 NN개가 주어진다. 초기 동전 배치를 나타내며, 각 정수는 0(동화) 또는 1(은화)이다.

출력

입력과 같은 형식으로 N×NN \times N 격자판의 올바른 배치를 출력한다. 0은 정확히 절반, 나머지 절반은 1이어야 한다.

예제1

  1. 예제 1

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