의회 규칙

면접 대비

시간 제한2초메모리 제한512 MB

요약
26개 정당의 Add와 Vote 사건 기록이 주어질 때, 법안 토론이 스택 규칙을 따르도록 사건을 배열할 수 있는지 판정한다.
난이도

보통10점 중 4점

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

문제

동화 왕국에는 오래전부터 입헌 군주제가 자리 잡고 있다. 동화 왕국의 의회는 26개 정당으로 이루어져 있고, 각 정당은 영어 소문자 'a'부터 'z'까지로 표시된다. 의회 회의는 규칙에 따라 다음 순서로 진행된다.

  • 회의가 시작될 때 의제에는 어떤 법안도 올라 있지 않다.
  • 어떤 정당이든(현재 법안을 제출한 정당도 포함해서) 언제든지 새 법안을 심의에 제출할 수 있다.
  • 정당이 새 법안을 제출하면 직전 법안의 심의가 중단되고 새 법안의 심의가 시작된다. 의원들이 새 법안에 투표한 뒤에는 중단되었던 법안의 심의가 다시 이어진다.
  • 어떤 법안의 논의든 그 법안에 대한 투표로 끝나야 한다.
  • 회의가 끝날 때 심의가 끝나지 않은 법안이 남아 있어서는 안 된다.

의회 회기의 기록이 주어진다. 이 기록에 대응하는 올바른 회의 진행 순서가 존재하는지 판별하시오.

입력

입력的第一行에는 정수 KK가 주어진다. 이는 회기 기록의 줄 수이다(1≤K≤10001 \le K \le 1000). 각 줄은 다음 두 사건 중 하나에 대응한다.

  • Add xx — 정당 xx가 법안을 표결에 제출했다.
  • Vote xx — 정당 xx가 제출한 문서에 대한 표결이 이루어졌다.

여기서 xx는 정당을 나타내는 영어 소문자 'a'부터 'z'까지이다.

출력

이러한 기록을 낳을 수 있는 올바른 회의 진행 순서가 존재하면 Yes를, 어떤 올바른 진행 순서로도 이 기록이 나올 수 없다면 No를 출력하시오.

예제3

  1. 예제 1

    입력
    4
    Add a
    Add b
    Vote a
    Vote b
    
    예상 출력
    No
    
  2. 예제 2

    입력
    8
    Add z
    Vote z
    Add x
    Add y
    Add x
    Vote x
    Vote y
    Vote x
    
    예상 출력
    Yes
    
  3. 예제 3

    입력
    1
    Vote z
    
    예상 출력
    No