아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

바둑 끝내기

시간 제한1초메모리 제한128 MB

요약
현재 점수와 각 영역의 득점, 선수 여부가 주어질 때 앨리스와 밥이 번갈아 영역을 선택하며 두는 최적의 끝내기 결과 점수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 게임 이론, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

바둑은 격자판 위에서 하는 보드게임으로, 자기 색 돌로 최대한 넓은 집(영역)을 둘러싸는 것이 목표이다. 바둑 한 판을 온전히 두는 것은 컴퓨터에게 매우 어렵지만, 집의 경계가 거의 확정되어 마지막 몇 집만을 다투는 끝내기(endgame) 단계는 단순화한 모형으로 다룰 수 있다. 이 문제는 그러한 단순화된 끝내기 모형을 다룬다.

게임은 Alice와 Bob이 번갈아 두며 진행한다. 현재 Alice는 aa 집, Bob은 bb 집을 가지고 있다. 서로 영향을 주지 않는 nn개의 독립된 구역이 있으며, 한 구역에서의 착수는 다른 어떤 구역에도 전혀 영향을 주지 않는다. 지금은 Alice의 차례이다.

진행 방식은 다음과 같다. 차례인 사람이 한 구역을 골라 그곳에 두면 상대가 같은 구역에서 응수하고, 그 구역이 정리될(settled) 때까지 서로 응수를 주고받는다. 구역이 정리된 뒤 차례인 사람이 다음 구역을 골라 같은 방식으로 두며, 모든 구역이 정리될 때까지 반복한다.

어떤 구역을 먼저 두는 쪽이 그 구역에서 유리하여 대개 더 많은 집을 얻는다. 이를 구역마다 다음과 같이 모형화한다. Alice가 구역 ii를 먼저 두면 Alice는 aia_i 집을 얻고 Bob은 그 구역에서 아무것도 얻지 못한다. 반대로 Bob이 구역 ii를 먼저 두면 Bob이 bib_i 집을 얻고 Alice는 얻지 못한다.

또한 구역은 어떤 사람에게 선수(sente) 일 수 있다. 어떤 구역이 그 구역을 먼저 둔 사람에게 선수이면, 그 구역이 정리된 뒤에도 여전히 그 사람의 차례가 되어 다음 구역을 고르게 된다. 먼저 둔 사람에게 선수가 아니라면, 그 구역이 정리된 뒤에는 상대의 차례가 된다. 한 구역은 두 사람 모두에게 선수일 수도, 한 사람에게만 선수일 수도, 아무에게도 선수가 아닐 수도 있다.

모든 구역의 정보가 주어질 때, 두 사람이 모두 최적으로 둔다고 가정하고 최종 점수를 구하라. 각 사람은 자신의 점수가 상대보다 가능한 한 많이 앞서기(또는 가능한 한 적게 뒤지기)를 원하며, 점수 차가 같은 결과들 중에서는 자신의 점수가 가장 큰 결과를 선호한다.

입력

입력은 여러 개의 인스턴스로 이루어지며, 인스턴스들은 하나의 빈 줄로 구분된다.

각 인스턴스의 첫 줄에는 세 정수 aa, bb, nn이 주어진다 (0≤a,b0 \le a, b, a+b≤361a + b \le 361, 0≤n≤3610 \le n \le 361). 각각 Alice의 현재 점수, Bob의 현재 점수, 아직 정리되지 않은 구역의 수이다.

이어지는 nn개의 줄이 각 구역을 설명한다. 그중 ii번째 줄에는 두 정수 aia_i, bib_i (0≤ai,bi0 \le a_i, b_i, 1≤ai+bi≤3611 \le a_i + b_i \le 361)와 두 문자 sis_i, tit_i가 공백으로 구분되어 주어진다. aia_i와 bib_i는 각각 Alice와 Bob이 그 구역을 먼저 두어 얻는 집 수이다. 문자 sis_i는 그 구역이 Alice에게 선수이면 S, 아니면 G이다. 마찬가지로 tit_i는 그 구역이 Bob에게 선수이면 S, 아니면 G이다.

입력의 끝까지 인스턴스를 처리한다.

출력

각 인스턴스마다 한 줄에 두 정수 AA와 BB를 공백으로 구분하여 출력한다. 이는 Alice가 처음 차례일 때 두 사람이 최적으로 둔 뒤의 Alice와 Bob의 최종 점수이다. 모든 인스턴스에서 A+B≤361A + B \le 361이다.

예제3

  1. 예제 1

    입력
    0 0 1
    5 6 G S
    
    10 9 3
    2 10 G G
    1 1 S G
    8 6 G S
    
    예상 출력
    5 0
    19 19
    
  2. 예제 2

    입력
    0 0 3
    3 5 S S
    2 2 S S
    4 1 S S
    
    예상 출력
    9 0
    
  3. 예제 3

    입력
    0 0 2
    3 3 G G
    4 2 G G
    
    예상 출력
    4 3