페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
두 사람을 Anna와 Bosse라고 하자. 두 사람은 번갈아 글자 하나를 말한다(Anna가 첫 번째 글자를, Bosse가 두 번째 글자를, Anna가 세 번째 글자를 말하는 식이다). 같은 글자를 여러 번 사용할 수 있다. 규칙은 두 가지다.
지금까지 말한 글자들은 그 순서대로 완성된 단어를 이루어서는 안 된다.
지금까지 말한 글자들은 그 순서대로, 끝에 글자를 더 붙이면 단어를 이룰 수 있어야 한다.
어느 규칙이든 어긴 사람이 지고, 따라서 다른 사람이 이긴다(실제 놀이에서는 두 번째 규칙에 관해 속임수를 쓸 수 있다).
예를 들어 S, T, U가 차례로 말해진 상태에서 Bosse가 P를 말하면 STUP가 단어이므로 진다. 또한 예를 들어 J를 말하면 STUJ로 시작하는 단어가 없으므로 진다. 반면 G를 말하면 놀이는 계속된다. 이때 Anna는 STUGA가 단어이므로 A를 말할 수 없지만, B를 말하여 Bosse가 STUGBY라는 단어를 완성하도록 강제할 수 있다.
간단하게 하기 위해 여기서는 A-Z의 글자들만 사용할 수 있다고 가정한다. 또한 이 놀이에서 단어로 간주할 모든 글자 조합이 들어 있는 단어 목록이 있다. Anna가 시작할 때 말하기에 ''안전한`` 글자, 즉 Bosse가 어떤 글자를 선택하더라도 Anna가 판을 이길 수 있게 하는 글자들을 알아내는 프로그램을 작성한다.
첫째 줄에 단어 목록에 있는 단어의 수를 나타내는 정수 이 주어진다. (). 이어지는 개의 줄에는 각 줄마다 단어 하나가 주어진다. 단어들은 알파벳 순서로 주어진다. 각 단어는 대문자 A-Z 중에서 고른 최대 개의 글자로 이루어진다. 지어낸 단어가 있을 수도 있다.
Anna가 해당 글자로 시작하면 Bosse가 어떤 글자를 선택하더라도 이길 수 있다는 성질을 가진 글자들을 알파벳 순서의 목록으로 출력한다(물론 두 사람 모두 상대가 말한 내용에 따라 자신의 선택을 조정할 수 있다). 글자들은 공백으로 구분하여 한 줄에 출력한다.
8
FE
FRI
FRIA
KO
SE
STUGA
STUGBY
STUP
K S
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.