페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
정확히 세 명의 후보가 공직 선거에 출마한다. 각 후보의 이름은 영문 알파벳 대문자로만 이루어진 길이 L의 문자열 하나이며, 어떤 두 후보도 이름이 같지 않다.
이 지역에는 후보가 이름 때문에 일관되게 유리하거나 불리해지는 일을 막기 위한 법이 있다. 각 선거 전에 영문 알파벳의 가능한 모든 순서 중 하나를 선택하고, 투표용지에 이름을 나열하기 전에 그 순서를 사용하여 이름을 알파벳순으로 정렬한다. (서로 다른 두 이름 중 어느 것이 투표용지 목록에서 앞서는지 판단하려면 먼저 각 이름의 첫 글자를 비교한다. 두 글자가 다르면 선택한 순서에서 더 앞에 오는 첫 글자를 가진 이름이 투표용지 목록에서도 앞선다. 두 글자가 같으면 각 이름의 두 번째 글자를 비교하고, 같은 방식으로 계속한다.)
세 후보는 모두 "중도적인" 이미지를 내세우고 싶어 하므로, 투표용지에 적힌 세 이름의 목록에서 가운데에 있는 것이 유리하다고 생각한다. 각 후보에 대해, 그 후보의 이름이 투표용지의 세 이름 중 두 번째가 되게 하는 영문 알파벳 순서가 적어도 하나 존재하는지 판단한다. 각 후보를 독립적으로 고려한다는 점에 유의하라.
예를 들어 후보들의 이름이 BCB, CAB, CBC라고 하자. D부터 Z까지의 글자는 이 이름들에 사용되지 않으므로, A, B, C의 상대적인 순서만 고려한다. 예를 들어 A, B, C 순서를 선택하면 후보들은 BCB, CAB, CBC 순서로 나열된다. 이는 CAB이 가운데에 올 수 있음을 보여 준다. A, C, B 순서를 선택하면 후보들은 CAB, CBC, BCB 순서로 나열된다. 이는 CBC이 가운데에 올 수 있음을 보여 준다. 그러나 가능한 다른 네 가지 순서 중 어느 것을 사용하더라도 BCB은 절대 가운데에 올 수 없다.
1 ≤ T ≤ 100. 시간 제한: 테스트 세트당 20초. 메모리 제한: 1GB. 1 ≤ L ≤ 100. 모든 i에 대해 의 길이는 L이다. 모든 i ≠ j에 대해 ≠ .
모든 i에 대해 에는 집합 {A, B, C}의 대문자만 포함된다.
모든 i에 대해 에는 영문 알파벳 대문자만 포함된다.
입력의 첫 번째 줄에는 테스트 케이스의 수 T가 주어지고, 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 각 후보 이름의 길이를 나타내는 정수 L 하나가 담긴 한 줄로 시작한다. 그다음 줄에는 영문 알파벳 대문자로 이루어진 서로 다른 문자열 세 개 가 주어진다. 이 중 i번째 문자열은 i번째 후보의 이름이다.
각 테스트 케이스마다 Case #x: y1 y2 y3을 담은 한 줄을 출력한다. 여기서 x는 1부터 시작하는 테스트 케이스 번호이며, 각 yi는 문제 설명에서 설명한 대로 i번째 후보가 가운데에 올 수 있으면 YES이고, 그렇지 않으면 NO이다.
3
3
BCB CAB CBC
2
CC CA AA
6
MEDIAN MEDIAL MEDIAS
Case #1: NO YES YES
Case #2: NO YES NO
Case #3: YES YES YES
마지막 예제 케이스는 작은 데이터 세트에는 등장하지 않는다는 점에 유의하라.
예제 케이스 #1은 문제 설명에서 설명한 경우이다.
예제 케이스 #2에서는 A와 C의 가능한 두 가지 상대적 순서 중 어느 것을 선택하더라도 CA이 가운데에 온다.
예제 케이스 #3에서는 순서상 L, N, S 세 글자 중 어느 글자가 상대적인 순서에서 두 번째에 오느냐에 따라 어떤 이름이든 가운데에 올 수 있다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.