블랙잭

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

블랙잭은 손에 쥔 카드의 합이 21을 넘지 않게 만드는 카드 게임이다. 카지노에서는 돈을 걸지만 여기서는 돈을 걸지 않고 각자의 승수만 센다.

한 벌은 카드 52장이고 13가지 값이 각각 4장씩 들어 있다. 카드 값은 다음과 같다.

  • 그림 카드 K, Q, J는 10이다.
  • T(10)는 10이다.
  • 2부터 9까지는 적힌 숫자 그대로다.
  • A(에이스)는 1 또는 11이다.

규칙은 다음과 같다.

  1. 시나리오마다 입력에 적힌 순서대로 카드를 나눠 주면서 여러 판을 진행한다.
  2. 한 판을 시작할 때 입력에 적힌 순서대로 참가자에게 카드를 한 장씩 주고, 마지막으로 딜러에게 한 장을 준다. 딜러는 참가자가 아니다. 이어서 같은 순서로 두 번째 카드를 한 장씩 준다.
  3. 참가자는 차례대로 진행한다. 판단 기준은 항상 손에 쥔 카드 값의 합이다. A는 처음에 11로 세고, 진행 도중 A 하나 이상이 1로 내려갈 수 있다. 한 번 1로 내려간 A는 계속 1이다.
  4. 자기 차례는 이렇게 진행한다.
    • 처음 받은 두 장이 모두 A이면 A 하나를 1로 내려서 합을 22가 아니라 12로 만든다.
    • 합이 17 이상이면 멈추고 차례를 끝낸다.
    • 합이 17 미만이면 카드를 한 장 더 받는다. 받은 뒤 합이 22 이상이면 버스트로 차례가 끝난다. 다만 아직 11로 세는 A가 남아 있으면 그 A 하나를 1로 내리고 차례를 이어 간다.
    • 멈추거나 버스트할 때까지 차례가 이어진다.
  5. 참가자가 모두 차례를 마친 뒤, 버스트하지 않은 참가자가 한 명이라도 있으면 딜러가 같은 방식으로 진행한다.
  6. 딜러가 버스트하면 버스트하지 않은 참가자가 각각 1승을 얻는다.
  7. 딜러가 멈추면 딜러는 멈춘 참가자 중 자기보다 합이 작은 사람마다 1승, 버스트한 참가자마다 1승을 얻는다. 버스트하지 않은 참가자는 합이 딜러보다 크면 1승을 얻는다. 합이 같으면 어느 쪽도 승수를 얻지 않는다.
  8. 참가자가 모두 버스트해서 딜러가 차례를 진행하지 않으면, 딜러는 참가자 수만큼 승수를 얻는다.
  9. 카드를 줘야 하는데 한 벌에 남은 카드가 없으면 진행 중이던 판을 그대로 중단하고 점수를 매기지 않는다. 그 시점에 시나리오가 끝나고 각 참가자의 승수를 출력한다.

입력

시나리오가 여러 개 주어진다. 시나리오 하나는 두 줄이다.

첫 줄에는 카드 한 벌 52장의 값이 나눠 줄 순서대로 공백 없이 이어져 있다. 각 문자는 A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K 중 하나이고, 값마다 정확히 4장씩 들어 있다.

둘째 줄에는 참가자 이름이 공백 하나로 구분되어 1개 이상 5개 이하 주어진다. 이름에는 공백이 없다.

마지막 줄에는 #만 있다. 이 줄은 처리하지 않는다.

출력

시나리오마다 한 줄을 출력한다. 입력에 나온 순서대로 참가자 이름과 그 참가자의 승수를 쓰고, 마지막에 dealer와 딜러의 승수를 쓴다. 이름과 승수는 공백 하나로 구분한다.