오델로(리버시라고도 함)는 $8 \times 8$ 판에서 하는 게임이다. 각 칸은 행과 열로 나타내며, 맨 위 행이 1행, 맨 왼쪽 열이 1열이다. 돌은 한 면이 검은색, 다른 면이 흰색이며, 한 사람은 검은 면을, 다른 사람은 흰 면을 위로 오게 하여 돌을 놓는다.
게임은 판 위에 이미 몇 개의 돌이 놓인 상태에서 시작한다.
다음 두 조건을 모두 만족할 때 그 수는 유효하다.
항상 검은색이 먼저 두고, 이후 흰색·검은색·흰색 순으로 번갈아 둔다. 주어진 수들을 순서대로 시뮬레이션한 뒤, 판에 남은 검은 돌과 흰 돌의 개수를 각각 구하라.
입력은 세 부분으로 이루어진다.
먼저 초기 판의 배치를 나타내는 문자 하나(a, b, c 중 하나)가 주어진다.
a: 오델로의 표준 시작 배치. (4,4)와 (5,5)는 흰색, (4,5)와 (5,4)는 검은색이다.b: 주대각선 칸 (1,1), (2,2), …, (8,8)이 모두 검은색이고, 반대각선 칸 (1,8), (2,7), …, (8,1)이 모두 흰색이다.c: 3열과 4열의 모든 칸이 검은색, 5열과 6열의 모든 칸이 흰색이다(8개 행 전부).배치 a | 배치 b | 배치 c |
|---|---|---|
![]() | ![]() | ![]() |
다음으로 시뮬레이션할 수의 개수를 나타내는 정수 $n$($0 \le n \le 30$)이 주어진다. 이어서 $n$개의 정수 쌍 $R$ $C$($1 \le R \le 8$, $1 \le C \le 8$)가 순서대로 주어지며, $R$은 행, $C$는 열을 나타낸다.
첫 번째 수는 검은색, 두 번째 수는 흰색, 세 번째 수는 다시 검은색 순이다. 나열된 모든 수는 빈 칸에 두는 유효한 수임이 보장된다.
모든 수를 둔 뒤 판 위의 검은 돌의 개수와 흰 돌의 개수를 공백 하나로 구분하여 출력한다.