포럼
문제 USACO0327

팀 틱택토

설명

농부 존은 26마리의 소를 기르는데, 공교롭게도 모두 알파벳의 서로 다른 글자로 시작하는 이름을 가지고 있어서, 농부 존은 보통 각 소를 그 이름의 첫 글자, 즉 \(A \ldots Z\) 범위의 문자 하나로 부른다.

소들은 최근 틱택토 게임에 푹 빠졌는데, 한 번에 두 마리만 플레이할 수 있다는 점이 마음에 들지 않아 여러 마리의 소가 동시에 플레이할 수 있는 변형 게임을 발명했다! 일반 틱택토와 마찬가지로 게임은 \(3 \times 3\) 판 위에서 진행되지만, X와 O 대신 각 칸에는 그 칸을 차지한 소의 첫 글자를 나타내는 \(A \ldots Z\) 범위의 문자 하나가 표시된다.

게임 판의 예는 다음과 같다.

COW
XXO
ABC

소들은 아홉 칸을 모두 채운 다음에야 누가 이겼는지 어떻게 판정할지 몰라 혼란에 빠졌다. 분명히, 일반 틱택토처럼 어느 한 소가 한 행, 열, 또는 대각선 전체를 차지했다면 그 소는 혼자서 승리를 주장할 수 있다. 하지만 플레이어 수가 많아진 만큼 이런 일이 일어나기 어려울 것 같다고 생각한 소들은, 두 마리가 팀을 이루는 것을 허용하기로 했다. 두 소로 이루어진 팀은 어떤 행, 열, 또는 대각선이 팀에 속한 두 소의 문자로만 이루어져 있고, 더불어 그 행, 열, 또는 대각선에 (한 마리가 아니라) 두 소 모두의 문자가 사용되었을 때 승리를 주장할 수 있다.

승리를 주장할 수 있는 개인 또는 두 소 팀이 몇이나 되는지 소들이 알아내도록 도와주자. 게임 판의 같은 칸이 여러 개의 서로 다른 승리 주장에 사용될 수도 있음에 유의하라.

출제자: Brian Dean

제약

출제자: Brian Dean

입력 형식

입력은 세 줄로 이루어지며, 각 줄은 \(A \ldots Z\) 범위의 문자 세 개이다.

출력 형식

출력은 두 줄로 이루어져야 한다. 첫째 줄에는 승리를 주장할 수 있는 개인 소의 수를 출력한다. 둘째 줄에는 승리를 주장할 수 있는 두 소 팀의 수를 출력한다.

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 tttt.in · 출력을 쓸 파일 tttt.out
예제 1
입력
COW
XXO
ABC
출력
0
2
설명

In 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

태그

평가 및 의견

Team Tic Tac Toe

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Team Tic Tac Toe

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (tttt.in / tttt.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8