사전 단어 중 고정된 알파벳 순서로 추측하며 후보를 좁히는 상대가 가장 많이 틀리도록 만드는 단어를 고합니다.
보통7트라이시뮬레이션문자열아직 제출이 없습니다시간 제한5초메모리 제한512 MB친구 션과 행맨 게임을 한다. 션은 이 게임에 그리 능숙하지 않다. 션의 허술한 전략을 파고들어 션이 점수를 최대한 많이 잃게 만들어라.
+--+
| O
| / | \ Mystery word: _ a _ a _ a _
| / \
|
+-+---+
행맨은 이렇게 진행한다.
a부터 z까지의 문자로만 이루어지며 공백은 없다._ 하나로 가려서 적는다.션의 전략은 단순하다. 26개 문자를 어떤 순서로 나열한 목록 L을 만들고, 목록을 앞에서부터 한 문자씩 훑는다. 지금 보고 있는 문자를 (a) 포함하고 (b) 칠판에 적힌 내용과 션이 앞서 물어본 모든 결과에 부합하는 단어가 D에 하나라도 있으면 션은 그 문자를 묻는다. 그렇지 않으면 건너뛴다. 어느 쪽이든 션은 곧바로 목록의 다음 문자로 넘어간다.
션의 목록이 주어질 때, 션이 점수를 가장 많이 잃게 하려면 어떤 단어를 골라야 하는지 구하라. 잃는 점수가 같은 선택이 여러 개면 D에서 먼저 나오는 단어를 고른다.
L이 "abcdefghijklmnopqrstuvwxyz"이고 D가 banana, caravan, pajamas로 이루어졌다고 하자. pajamas를 고르면 게임은 이렇게 흘러간다.
_ _ _ _ _ _ _를 적는다. 밑줄 개수만 보고도 션은 단어가 caravan이나 pajamas임을 곧바로 안다.a를 묻고, a가 있는 위치를 모두 공개해 칠판은 _ a _ a _ a _가 된다.b는 banana에 쓰이지만 션은 건너뛴다. 그 단어가 답이 아님을 이미 알기 때문이다.c를 묻는다. caravan에 c가 있기 때문이다. 실제로 고른 단어에는 c가 없으므로 션은 1점을 잃고 새로 공개되는 글자도 없다.pajamas임을 알고 j, m, p, s를 차례로 물어 점수를 더 잃지 않고 라운드를 끝낸다.즉 pajamas를 고르면 션은 1점을 잃는다. 다른 두 단어를 골랐다면 션은 한 점도 잃지 않는다.
첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 사전에 있는 단어의 수 N과 살펴볼 목록의 수 M이 주어진다.
다음 N개의 줄에 사전의 단어 D1,D2,…,DN이 한 줄에 하나씩 주어진다. 각 단어는 a부터 z까지의 문자를 임의로 이어 붙인 문자열이다.
마지막 M개의 줄에 션이 사용할 목록 L1,L2,…,LM이 한 줄에 하나씩 주어진다. 각 목록은 26개 문자를 각각 정확히 한 번씩 담은 길이 26의 문자열이다. 션은 위에서 설명한 방식대로 이 목록에 따라 문자를 묻는다.
각 테스트 케이스마다 Case #x: w1 w2 ... wM 형식으로 한 줄을 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, wi는 션이 목록 Li의 순서대로 문자를 물을 때 골라야 하는 단어다. 단어 사이는 공백 하나로 구분한다. 션이 잃는 점수가 같은 단어가 여러 개면 사전에서 먼저 나오는 단어를 출력한다.