시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
5 초 | 128 MB | 74 | 15 | 7 | 19.444% |
크기가 r×c인 행렬이 주어진다. 행렬의 각 원소는 0 또는 1이다. 행렬이 수행할 수 있는 연산은 원소 하나를 뒤집는 것이다. (0을 1로, 1을 0으로) 상근이는 다음과 같은 조건을 만족하는 행렬로 바꾸려고 한다.
입력으로 주어진 행렬을 위의 조건을 만족하는 행렬로 만드는데 필요한 연산의 최소 횟수를 구하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 T(≤1000)가 주어진다.
각 테스트 케이스의 첫째 줄에는 두 정수 r과 c가 주어진다. (1 ≤ r, c ≤ 40) r은 행의 수, c는 열의 수이다. 다음 r개 줄에는 c개의 정수가 주어지며, 행렬의 정보이다.
각 테스트 케이스마다 "Case #: R"을 출력한다. #는 테스트 케이스의 번호이고, R은 입력으로 주어진 행렬을 문제의 조건에 맞는 행렬로 바꾸는데 필요한 연산의 최소 횟수이다. 불가능한 경우에는 R에 -1을 출력한다.
3 2 3 111 111 3 3 011 011 011 2 3 001 000
Case 1: 0 Case 2: 3 Case 3: 1
ICPC > Regionals > Asia Pacific > Thailand > 2012 ACM-ICPC Asia Hatyai Regional Programming Contest A번