본문 바로가기

PKU & UVa problems/Translated problem

PKU 2260. Error Correction

오류 수정
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 3990 Accepted: 2641

설명

0과 1로만 이루어진 어떤 행렬의 각 행과 각 열의 합이 짝수만 나올 때 이 행렬을 같은 특성을 지닌 행렬이라고 말합니다. 즉 모든 행과 열이 짝수 비트로 이루어졌을때를 말합니다. 4 x 4 행렬중에 이러한 예를 들어보면: 
1 0 1 0

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

행의 합들은 각각 2, 0, 4, 2입니다. 열의 합들은 각각 2, 2, 2, 2입니다. 
당신이 해야 할 일은 주어진 집합이 같은 특성을 지녔는지를 확인하는 프로그램을 작성하는 것입니다. 만약 같은 특성을 지닌 행렬이 아니라면, 단 하나의 비트를 바꿈으로써 그 행렬이 같은 특성을 지닐 수 있는지를 확인해야 합니다. 만약 이 두 가지가 전부 불가능하다면 그 행렬은 특성이 변한 집합으로 분류합니다.

입력

입력은 하나 이상의 테스트 케이스들을 해야 합니다. 각 테스트 케이스의 첫 줄은 100보다 작은 하나의 정수 n으로 시작하는데, 이 n은 행렬의 크기를 나타냅니다. 그러고 난 뒤의 n줄에는 각 줄마다 n개의 정수를 입력합니다. 행렬에는 오직 0과 1 두 정수만 사용해야 합니다. n을 입력하는 자리에 0을 입력하는 것으로 입력을 종료합니다.

출력

입력된 각 행렬에 대해서 한 줄로 출력합니다. 입력된 행렬이 이미 같은 특성을 지녔을 경우 "OK"를, 하나의 비트를 바꾸는 것으로 같은 특성을 지닌 행렬이 될 경우 "Change bit (i,j)"를 출력하는데 i와 j는 각각 바꾸어야 할 행과 열을 의미합니다. 그렇지 못한 경우 "Corrupt"를 출력합니다.

입력 예시

4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
0

출력 예시

OK
Change bit (2,3)
Corrupt

Source

'PKU & UVa problems > Translated problem' 카테고리의 다른 글

PKU 3176. Cow Bowling  (1) 2010.11.01
PKU 3085. Quick Change  (0) 2010.10.05
UVa 341. Non-Stop Travel  (5) 2010.07.24
PKU 1050. To the Max  (4) 2010.05.29
PKU 1422. Air Raid  (2) 2010.04.30