Connexion

NYPC 2025 · 본선

Connexion은 NYPC 10주년 이벤트 NYPC <CODE BATTLE/> 파이널 라운드 문제로 출제된 게임이다. Connexion의 현재 게임 보드 상태가 주어졌을 때, 선공과 후공의 점수를 각각 계산하는 프로그램을 작성하여라.

게임 설명

Connexion은 22명이서 플레이하는 턴제 게임이다. 게임은 22명이서 게임 보드와 게임 타일을 사용하여 진행한다. 게임은 준비 단계, 배치 단계, 점수 계산 단계로 이루어진다.

게임 보드

Connexion 게임 보드 사진

게임 보드는 위와 같은 모양으로, 총 6464개의 칸으로 이루어져있다. 각 칸의 좌표는 (열, 행, 부호)의 순서쌍으로 나타낼 수 있다.

칸을 표현할 때는 열을 나타내는 문자, 행을 나타내는 문자와 부호, 총 33개의 문자를 차례로 붙여서 나타낸다.

열, 행, 부호의 가능한 7272개 조합 중, 다음 88개는 사용하지 않는다.

각 칸은 다음과 같은 방법으로 연결되어 있다.

예를 들어, c5-c5+, b5+, c4+과 연결되어 있고, f4+f4-, f5-와 연결되어 있다.

게임 타일

Connexion의 게임 타일에는 색과 문양이 있다. 색은 R (빨간색 타일), G (초록색 타일), B (파란색 타일), Y (노란색 타일)44종류가 있으며, 문양은 1 (1번 문양), 2 (2번 문양), 3 (3번 문양), 4 (4번 문양)44종류가 있다. 색과 문양의 서로 다른 1616가지 조합에 대해, 해당 조합의 타일이 44개씩, 총 6464개가 있다. 타일은 색을 표현하는 문자와 문양을 표현하는 문자, 총 22개의 문자를 차례로 붙여서 나타낸다.

Connexion 게임 타일 사진

준비 단계

선공과 후공을 정한다. 각 사람은 색과 문양의 서로 다른 1616가지 조합의 타일을 각 22개씩 총 3232개를 나눠가진 뒤 잘 섞은 이후 주머니에 넣는다. 그 이후 주머니에서 타일을 55개 뽑아서 모두가 볼 수 있도록 자기 앞에 놓는다.

배치 단계

배치 단계는 선공부터 번갈아가면서 각 사람이 3232번씩 총 6464번 진행한다.

  1. 자기 앞에 놓인 타일 중 하나를 게임보드의 칸 중 하나에 배치한다.
  2. 주머니에 남은 타일이 있을 경우, 주머니에서 타일을 하나 뽑아와서 자기 앞에 놓는다. 마지막 55번의 배치 단계에서는 주머니에 타일이 존재하지 않고, 이 경우 주머니에서 타일을 가져오는 과정은 생략한다.

점수 계산

인접한 두 칸에 놓인 타일이 같은 색이면 두 타일은 색으로 직접 연결, 같은 문양이면 문양으로 직접 연결되어 있다. 다음 조건을 만족하는 타일들을 간접 연결되었다고 말한다.

선공과 후공은 각자 다른 방법으로 타일의 점수를 계산한다. 각 타일의 점수는

이다. 각 사람의 점수는 모든 타일 점수의 합이다. 점수가 더 높은 사람이 승리한다.

문제

Connexion의 현재 게임 보드 상태가 주어졌을 때 선공과 후공의 점수를 각각 계산하는 프로그램을 작성하여라.

입력 형식

첫 줄에 테스트 케이스의 수를 나타내는 정수 TT가 주어진다. (1T1000)(1 \le T \le 1\,000)

각 테스트 케이스의 첫 줄에는 정수 NN이 주어진다. 이는 현재 게임 보드에 놓여 있는 타일의 개수이다. (1N64)(1 \le N \le 64)

다음 NN개의 줄의 각 줄에는 칸과 해당 칸에 놓인 타일의 좌표가 공백으로 구분되어 주어진다.

주어지는 입력은 올바르다. 즉, 한 테스트 케이스 내에서 칸은 올바른 칸만이 주어지며, 중복해서 주어지지 않는다. 또한, 한 테스트 케이스 안에서 같은 타일은 44개 초과로 주어지지 않는다.

출력 형식

각 테스트 케이스마다 한 줄에 하나씩, 선공의 점수와 후공의 점수를 공백으로 구분하여 출력한다.

예제 1

입력

1 10 b5+ R4 c5- R2 c5+ Y2 a4+ G2 b6- B4 a5- G1 b5- Y4 c4+ R3 b4- B2 b4+ Y2

출력

24 20

점수계산 예시

위 그림은 예제 1에 해당한다.

선공

총점: 1+13+1+9=241\textrm{점}+13\textrm{점}+1\textrm{점}+9\textrm{점} = 24\textrm{점}

후공

총점: 9+5+4+2=209\textrm{점}+5\textrm{점}+4\textrm{점}+2\textrm{점} = 20\textrm{점}

예제 2

입력

2 2 c3- R1 e5- R1 2 f4- R1 e4+ R1

출력

2 2 4 4

예제 2는 아래 채점 방식의 종류 1, 종류 2, 종류 3 모두에 해당된다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 17

N=2N = 2

종류 2: 29

주어지는 타일은 모두 R1이다.

종류 3: 54

모든 입력 케이스가 주어진다.

해설