頁面無法載入?點擊這裡可能會修復。
Placeholder

#10417

반전 정리 20s 1024MB

問題

2년 전 IO 홍보물을 인쇄할 때 겪은 문제 이후, 컨퍼런스의 마케팅 팀은 인터랙티브 설치물을 사용하기로 했다. 이 설치물은 2\mathbf{N}2\mathbf{N}열의 터치스크린 행렬로 이루어져 있다. 각 터치스크린은 대문자 I 또는 대문자 O 중 하나를 표시할 수 있다. 어떤 스크린을 터치하면, 터치 직전에 표시하고 있지 않던 글자로 표시가 바뀐다(즉, IO가 서로 전환된다).

당신은 이 설치물 중 하나를 보고 있는데, 너무 정돈되지 않았다고 느꼈다. 당신은 몇몇 글자를 바꿔서 위쪽 \mathbf{N}개 행에 표시된 I의 개수 합이 아래쪽 \mathbf{N}개 행의 I 개수 합과 같아지게 하고 싶다. 동시에, 가장 왼쪽 \mathbf{N}개 열에 표시된 I의 개수 합이 가장 오른쪽 \mathbf{N}개 열의 I 개수 합과 같아지게 하고 싶다.

Illustration of Sample #1.

예를 들어 위의 왼쪽 그림에서 \mathbf{N}=2이다. 위쪽 2개 행에는 I가 총 3개 표시되어 있고, 아래쪽 2개 행에는 5개가 표시되어 있다. 반면 가장 왼쪽 2개 열과 가장 오른쪽 2개 열에는 모두 I가 총 4개씩 표시되어 있다. 강조 표시된 두 스크린을 터치하면, 오른쪽 그림과 같은 상태로 바꿀 수 있다. 이 상태에서는 위쪽 2개 행과 아래쪽 2개 행 모두 I4개씩이 되고, 왼쪽/오른쪽도 여전히 균형을 유지한다.

설치물의 현재 상태가 주어질 때, 위 조건을 모두 만족하기 위해 필요한 최소 터치 횟수를 구하라.


輸入

입력의 첫 줄에는 테스트 케이스 수 \mathbf{T}가 주어진다. \mathbf{T}개의 테스트 케이스가 이어진다. 각 테스트 케이스는 먼저 정수 \mathbf{N}이 주어진 한 줄로 시작하며, 이는 행렬의 행/열 개수의 절반이다. 그 다음 2\mathbf{N}줄이 이어진다. 이 중 i번째 줄에는 2\mathbf{N}개의 문자로 이루어진 문자열 \mathbf{C_{i,1}}\mathbf{C_{i,2}}\cdots\mathbf{C_{i,2N}}가 주어진다. \mathbf{C_{i,j}}는 i행 j열 스크린에 현재 표시되어 있는 글자이다.


輸出

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y는 설치물의 위/아래 절반에 표시된 I의 총 개수가 같고, 왼쪽/오른쪽 절반에 표시된 I의 총 개수도 같도록 동시에 만들기 위해 필요한 최소 터치 횟수이다.


範例

3
2
IIOO
OOOI
IIII
OOOI
1
IO
OO
2
OIOI
IOIO
OIOI
IOIO
Case #1: 2
Case #2: 1
Case #3: 0
샘플 케이스 #1은 문제 설명에 나온 경우이다. 아무 것도 건드리지 않으면 안 되고, 한 번만 건드리면 전체 I의 개수가 홀수가 되어 균형을 맞출 수 없다. 두 번의 터치로 균형을 맞추는 방법이 설명되어 있으며, 다른 방법도 있다. 샘플 케이스 #2에서는 왼쪽 위 모서리를 O로 바꾸면 I가 하나도 남지 않으므로, 모든 절반이 같은 개수(0)를 갖는다. 샘플 케이스 #3에서는 설치물이 이미 요구 사항에 맞게 정리되어 있으므로 터치가 필요 없다.

來源

GCJ 2022iow A

需要登入才能撰寫程式碼。