농부 존은 26마리의 소를 기르는데, 공교롭게도 모두 알파벳의 서로 다른 글자로 시작하는 이름을 가지고 있어서, 농부 존은 보통 각 소를 그 이름의 첫 글자, 즉 \(A \ldots Z\) 범위의 문자 하나로 부른다.
소들은 최근 틱택토 게임에 푹 빠졌는데, 한 번에 두 마리만 플레이할 수 있다는 점이 마음에 들지 않아 여러 마리의 소가 동시에 플레이할 수 있는 변형 게임을 발명했다! 일반 틱택토와 마찬가지로 게임은 \(3 \times 3\) 판 위에서 진행되지만, X와 O 대신 각 칸에는 그 칸을 차지한 소의 첫 글자를 나타내는 \(A \ldots Z\) 범위의 문자 하나가 표시된다.
게임 판의 예는 다음과 같다.
COW
XXO
ABC
소들은 아홉 칸을 모두 채운 다음에야 누가 이겼는지 어떻게 판정할지 몰라 혼란에 빠졌다. 분명히, 일반 틱택토처럼 어느 한 소가 한 행, 열, 또는 대각선 전체를 차지했다면 그 소는 혼자서 승리를 주장할 수 있다. 하지만 플레이어 수가 많아진 만큼 이런 일이 일어나기 어려울 것 같다고 생각한 소들은, 두 마리가 팀을 이루는 것을 허용하기로 했다. 두 소로 이루어진 팀은 어떤 행, 열, 또는 대각선이 팀에 속한 두 소의 문자로만 이루어져 있고, 더불어 그 행, 열, 또는 대각선에 (한 마리가 아니라) 두 소 모두의 문자가 사용되었을 때 승리를 주장할 수 있다.
승리를 주장할 수 있는 개인 또는 두 소 팀이 몇이나 되는지 소들이 알아내도록 도와주자. 게임 판의 같은 칸이 여러 개의 서로 다른 승리 주장에 사용될 수도 있음에 유의하라.
출제자: Brian Dean
출제자: Brian Dean
입력은 세 줄로 이루어지며, 각 줄은 \(A \ldots Z\) 범위의 문자 세 개이다.
출력은 두 줄로 이루어져야 한다. 첫째 줄에는 승리를 주장할 수 있는 개인 소의 수를 출력한다. 둘째 줄에는 승리를 주장할 수 있는 두 소 팀의 수를 출력한다.
tttt.in · 출력을 쓸 파일 tttt.outCOW
XXO
ABC0
2In this example, no single cow can claim victory. However, if cows C and X team
up, they can win via the C-X-C diagonal. Also, if cows X and O team up, they
can win via the middle row.
riseoj 작성
출처 올림피아드 > USACO > 2017-2018 > US Open > Bronze