만드는 중입니다

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

Magicka (작은 입력)

면접 대비

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

요약
원소를 순서대로 호출하면서 마지막 두 원소에 결합 규칙을 적용하고 대립하는 원소가 나타나면 목록 전체를 비워 결과를 구합니다.
난이도

쉬움10점 중 3점

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

문제

마법사인 당신은 기본 원소 8개를 소환한다. 기본 원소는 Q, W, E, R, A, S, D, F 중 한 글자다. 원소를 소환하면 그 원소가 원소 목록의 맨 뒤에 붙는다. 예를 들어 W를 소환한 다음 A를 소환하면(줄여서 "WA를 소환한다"고 쓴다) 원소 목록은 [W, A]가 된다.

기본 원소 두 개가 결합해 기본 원소가 아닌 원소(나머지 대문자 18개 중 하나)를 만드는 조합이 입력으로 주어진다. Q와 F가 결합해 T가 된다고 하자. 조합을 이루는 두 원소가 원소 목록의 맨 뒤 두 자리에 놓이는 순간, 두 원소는 즉시 목록에서 빠지고 결합해서 만들어진 원소 하나가 그 자리에 들어간다. 이 예에서 목록이 [A, Q, F]나 [A, F, Q]가 되면 목록은 [A, T]가 된다.

서로 상극인 기본 원소 쌍도 입력으로 주어진다. 원소를 소환한 직후, 그 원소가 결합해 다른 원소로 바뀌지 않았고 목록 안에 그 원소와 상극인 원소가 하나라도 있으면 원소 목록 전체가 비워진다.

Q와 F가 결합해 T가 되고 R과 F가 상극인 경우, 왼쪽부터 차례로 소환하면 결과는 다음과 같다.

  • QF → [T] (Q와 F가 결합해 T가 된다)
  • QEF → [Q, E, F] (Q와 F가 맨 뒤에 함께 놓인 적이 없어 결합하지 않는다)
  • RFE → [E] (F와 R이 상극이라 목록이 비워지고, 그다음 E를 소환한다)
  • REF → [] (F와 R이 상극이라 목록이 비워진다)
  • RQF → [R, T] (QF가 결합해 T가 되므로 목록이 비워지지 않는다)
  • RFQ → [Q] (F와 R이 상극이라 목록이 비워진다)

소환할 원소의 순서가 주어질 때, 모두 소환한 뒤 원소 목록에 무엇이 남는지 구하는 문제다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에 테스트 케이스가 한 줄에 하나씩 주어지고, 각 줄에는 다음 값이 공백으로 구분되어 순서대로 들어온다.

먼저 정수 CC와 길이가 3인 문자열 CC개가 온다. 각 문자열은 기본 원소 두 개와 기본 원소가 아닌 원소 하나로 이루어지며, 앞의 기본 원소 두 개가 결합해 마지막 원소가 된다는 뜻이다. 다음으로 정수 DD와 길이가 2인 문자열 DD개가 온다. 각 문자열은 서로 상극인 기본 원소 두 개다. 마지막으로 정수 NN과 길이가 NN인 문자열 하나가 온다. 이 문자열은 소환할 기본 원소의 순서이고, 왼쪽 글자부터 하나씩 소환한다.

제한

  • 1≤T≤1001 \le T \le 100
  • 기본 원소 쌍 하나가 나오는 조합은 많아야 하나다. 같은 쌍이 조합에도 나오면서 상극일 수는 있다.
  • 자기 자신과 상극인 기본 원소는 없다.
  • 컴퓨터 게임 Magicka와 달리 원소 목록의 길이에는 제한이 없다.
  • 0≤C≤10 \le C \le 1
  • 0≤D≤10 \le D \le 1
  • 1≤N≤101 \le N \le 10

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 케이스 번호이고, y는 최종 원소 목록을 "[e0, e1, ...]" 형식으로 적은 것이다. ei는 목록의 i번째 원소이며, 원소 사이는 쉼표 하나와 공백 하나로 구분한다. 목록이 비어 있으면 "[]"를 출력한다.

예제2

  1. 예제 1

    입력
    5
    0 0 2 EA
    1 QRI 0 4 RRQR
    1 QFT 1 QF 7 FAQFDFQ
    1 EEZ 1 QE 7 QEEEERA
    0 1 QW 2 QW
    
    예상 출력
    Case #1: [E, A]
    Case #2: [R, I, R]
    Case #3: [F, D, T]
    Case #4: [Z, E, R, A]
    Case #5: []
    
  2. 예제 2

    입력
    2
    1 QWT 1 QW 2 QW
    1 QWT 1 QW 3 QAW
    
    예상 출력
    Case #1: [T]
    Case #2: []