31 게임

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

요약
카드 1부터 6까지가 네 장씩 있는 서른하나 게임에서 지금까지 뽑은 카드 순서가 주어질 때, 남은 카드로 완벽하게 두면 누가 이기는지 판정한다.
난이도

보통10점 중 7점

유형
게임 이론, 동적 계획법, 백트래킹, 조합론
정답자
아직 제출이 없습니다

문제

31 게임은 아주 옛날 기차를 타고 다니던 노름꾼들이 가장 좋아하던 게임이다. 이 게임은 24장으로 이루어진 카드 묶음을 사용하며, 1, 2, 3, 4, 5, 6이 적힌 카드가 각각 4장씩 들어 있다. 두 플레이어는 카드 묶음의 모든 카드를 볼 수 있다. 두 플레이어는 번갈아 가며 카드 묶음에서 카드를 한 장씩 뽑아, 한곳에 카드를 쌓아 올린다.

카드를 쌓을 때, 쌓인 카드에 적힌 수들의 합은 31을 넘어서는 안 된다. 합이 31을 넘도록 만들 수밖에 없는 플레이어가 지고, 상대 플레이어가 이긴다.

지금까지 두 플레이어가 뽑은 카드의 순서가 주어졌을 때, 최종적으로 어느 플레이어가 이기는지 정하여라. 그 시점부터 두 플레이어는 남은 카드로 완벽한 전략을 사용한다고 가정한다.

예를 들어 두 플레이어가 다음 순서로 카드를 뽑았다고 하자(첫 번째 플레이어, 두 번째 플레이어 순으로 번갈아 가며 뽑는다).

  • 플레이어 1: 3
  • 플레이어 2: 5
  • 플레이어 1: 6
  • 플레이어 2: 6
  • 플레이어 1: 5
  • 플레이어 2: 6

이렇게 쌓으면 카드에 적힌 수들의 합이 31이 된다. 다음 차례인 플레이어 1은 어떤 카드를 뽑아도 합이 31을 넘게 되므로, 플레이어 1이 지고 플레이어 2가 이긴다.

입력

입력은 여러 줄로 이루어진다. 각 줄은 하나의 게임이며, 뽑은 카드들을 나타내는 숫자 문자열이다. 왼쪽부터 읽을 때 첫 번째 숫자는 플레이어 A가 뽑은 카드, 두 번째 숫자는 플레이어 B가 뽑은 카드이고, 이후에도 A, B, A, B 순서로 번갈아 이어진다.

각 게임에 대해, 주어진 상황에서 두 플레이어가 완벽한 전략으로 게임을 이어갈 때 누가 이기는지 결정해야 한다.

출력

각 게임마다, 주어진 카드 순서와 게임의 최종 승자(A 또는 B)를 공백 하나로 구분하여 한 줄에 출력하여라.

예제3

  1. 예제 1

    입력
    356656
    35665
    3566
    111126666
    552525
    
    예상 출력
    356656 B
    35665 B
    3566 A
    111126666 A
    552525 A
    
  2. 예제 2

    입력
    6
    
    예상 출력
    6 B
    
  3. 예제 3

    입력
    356655
    
    예상 출력
    356655 A