만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

크레이지 타임

면접 대비

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

요약
뒤집힌 카드 순서가 주어질 때 각 차례에 외칠 시각과 손뼉을 치는지 여부를 구합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

우주 어딘가에는 시간을 세는 행위로 시간이 흐르게 하는 존재들이 있습니다. 영겁의 세월을 살아온 그들은 시간을 더 재미있게 세기 위해 시간 세기 게임을 만들었습니다. 그것이 바로 《크레이지 타임》이죠!

《크레이지 타임》을 시작하기 전에 시간 카드를 잘 섞고, 플레이어들이 최대한 비슷한 수의 카드를 받도록 나눠 가집니다. 시간 카드는 앞면과 뒷면이 구분된 카드입니다. 앞면에는 시계 그림과 시각이 적혀 있습니다. 시계 그림은 벽시계, 손목시계, 모래시계 세 가지입니다. 받은 카드는 뒷면이 보이도록 자기 앞에 쌓아 개인 더미를 만듭니다.

게임은 다음과 같이 진행합니다.

  1. 플레이어는 자기 차례가 되면 개인 더미의 가장 윗장 카드를 펼치고, 이번 순서의 시각을 외칩니다. 첫 플레이어는 "1시"로 시작합니다.
  2. 시계 방향으로 돌아가며 각자 차례를 가집니다. 다른 방해 요소가 없다면 방금 외친 시각에서 11시간씩 더해서 외칩니다. 이전에 외친 시각이 "12시"라면 다음 사람은 "1시"를 외칩니다.

다만 펼쳐진 카드에 따라 색다르게 외치거나 행동해야 할 수 있습니다. 기본적으로 다음 22가지 시간의 법칙을 지켜야 합니다.

  1. 시간 역행의 법칙: 누군가 모래시계 카드를 펼치면 시간이 거꾸로 흐르기 시작합니다. "2시", "1시", "12시" 순으로 외쳐야 합니다. 모래시계 카드가 펼쳐질 때마다 시간의 흐름이 반전됩니다.
  2. 동기화의 법칙: 플레이어가 외친 시각과 펼쳐진 카드에 적힌 시각이 일치하면, 모든 플레이어는 즉시 손바닥으로 게임판 중앙을 내리쳐야 합니다.

그림 C.1: 시간 역행의 법칙. 모래시계 카드를 펼치면 시간이 거꾸로 흐르기 시작합니다.

그림 C.2: 동기화의 법칙. 외친 시각과 펼쳐진 카드의 시각이 일치하면 게임판 중앙을 내리칩니다.

또한 게임에서 반드시 지켜야 하는 원칙이 하나 있습니다.

  1. 과부하의 원칙: 펼쳐진 카드가 동시에 2개 이상의 법칙을 발동시키면, 그 어떤 법칙도 적용하지 않습니다. 예를 들어 시간 역행의 법칙과 동기화의 법칙이 동시에 발동되면, 두 법칙 모두 적용하지 않습니다.

잘못된 시각을 외치거나 손바닥을 가장 늦게 내리친 플레이어는 벌점 토큰을 받아 자기 카드 더미 옆에 놓습니다. 벌점 토큰이 주어지면, 플레이어들은 펼쳐진 카드를 다시 각자의 카드 더미 밑으로 넣습니다. 그다음 벌점을 받은 플레이어가 "1시"를 외치며 경기를 재개합니다.

《크레이지 타임》을 무척 좋아하는 한별이는 은하를 이기기 위해 여러분에게 도움을 청했습니다. 한별이는 마법을 써서 다음 차례의 플레이어가 펼칠 카드를 전부 알아냈습니다. 뛰어난 《크레이지 타임》 플레이어인 은하는 절대로 잘못된 시각을 외치지 않으므로, 이 방법으로는 벌점 토큰이 주어지지 않습니다. 또한 동기화의 법칙이 적용되면 모든 플레이어가 정확히 같은 순간에 손바닥을 내리치기 때문에, 누가 마지막으로 내리쳤는지 알기 어렵습니다. 그래서 실제 게임과 달리 아무도 벌점 토큰을 받지 않고 게임을 진행하기로 했습니다. 펼쳐질 카드의 순서가 주어졌을 때, 각 차례의 플레이어가 외쳐야 하는 시각과 해야 하는 행동을 알려주세요.

입력

첫 번째 줄에 펼쳐질 카드의 개수 NN이 주어집니다.

두 번째 줄부터 NN개의 줄에 걸쳐 한 줄에 카드 정보가 하나씩 주어집니다. 카드 정보는 공백으로 구분된 두 값으로, 카드에 그려진 시계의 종류를 나타내는 문자열 SS와 카드에 적힌 시각을 나타내는 양의 정수 XX입니다.

SS는 CLOCK, WATCH, HOURGLASS 중 하나입니다. CLOCK은 벽시계, WATCH는 손목시계, HOURGLASS는 모래시계를 뜻합니다.

출력

NN줄에 걸쳐, 해당 카드를 펼쳤을 때 차례를 진행하는 플레이어가 외쳐야 하는 시각과 해야 하는 행동을 공백으로 구분하여 출력합니다.

시각은 11부터 1212 사이의 정수입니다. 게임판 중앙을 내리쳐야 하면 YES를, 그렇지 않으면 NO를 출력합니다.

제한

  • 1≤N≤1 0001 \le N \le 1\,000
  • 1≤X≤121 \le X \le 12
  • 입력으로 주어지는 모든 수는 정수입니다.

예제2

  1. 예제 1

    입력
    7
    WATCH 4
    CLOCK 2
    HOURGLASS 3
    CLOCK 5
    HOURGLASS 3
    WATCH 2
    CLOCK 3
    
    예상 출력
    1 NO
    2 YES
    3 NO
    4 NO
    5 NO
    4 NO
    3 YES
    
  2. 예제 2

    입력
    5
    HOURGLASS 3
    CLOCK 12
    HOURGLASS 12
    WATCH 12
    HOURGLASS 1
    
    예상 출력
    1 NO
    12 YES
    11 NO
    12 YES
    1 NO