U E D R , A S I H C RSS

1thPCinCAUCSE/ProblemC

1회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회 C번 문제 : 색깔 바꾸기

다음처럼 3*3 정사각형 모양 있다. 각 칸은 검은색나 흰색다.

123
456
789

칸을 하나 누르면 그 칸과 웃한 칸들의 색 반대로 변한다. 예를 들어, 1번을 누르면 1,2,4,5 번의 색 반대로 변한다. 6번을 누르면 2,3,5,6,8,9 번의 색 반대로 변한다. 물론 5번을 누르면 1,2,3,4,5,6,7,8,9 번의 색 반대로 변한다. 예를 들어 아래 그림 (a)에서 6번칸을 누르면 그림 (b)로 변하고, 여기서 1번칸을 누르면 그림 (c)가 되어 모두 하얗게 변한다. (a) 그림을 모두 하얗게 만드는데 누르는 회수는 2다.

(b는 검은색 w는 하얀색)

그림 (a)
bwb
bwb
wbb

그림 (b)
bbw
bbw
www

그림 (c)
www
www
www

각 칸 검은 색나 흰색으로 칠해진 3*3 정사각형 주어질 때, 를 모두 흰색 되도록 하는데, 누르는 회수를 최소로 하는 방법을 찾는 프로그램을 작성하시오.

입력
입력은 표준 입력다. 입력의 첫줄에 테스트 케스의 개수를 나타내는 정수 T (10 하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케스가 주어진다. 테스트 케스는 b와 w로 루어진 길 9인 문자열 주어진다. 글자들 사에는 빈칸 없다. 들은 차례로 1,2,3,4,5,6,7,8,9에 해당하는 칸의 색을 나타내는데, b는 검은색고, w는 흰색다.

출력
출력은 표준 출력다. 각 테스트 케스의 X에 대해 자기가 계산한 회수를 한 줄에 하나씩 출력한다. 모두 흰색으로 바꾸는 것 불가능하면 -1을 출력한다. T개의 테스트 케스를 모두 맞춰야 맞춘 것다.

입력의 예
~cpp 
3
wbbwbbwww
wwwwwwwww
bwbbwbwbb

입력의 예에 대한 출력
~cpp 
1
0
2

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:09
Processing time 0.0193 sec