페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
512
MB
Alan은 오늘 학교에서 생애 첫 암호학 수업을 들었다. 그는 배운 내용을 응용하여 자신만의 암호를 만들기로 했다. 그는 A부터 Z까지의 각 영어 문자를 부터 까지의 십진수 숫자 하나에 대응시킨다. 그런 다음 단어의 각 문자를 대응하는 숫자로 바꾸어, 각 단어를 십진수 숫자로 이루어진 문자열로 인코딩하려 한다.
들뜬 나머지 Alan은 영어 알파벳에는 개의 문자가 있지만 십진수 숫자는 개뿐이라는 사실을 알아차리지 못했다. 따라서 서로 다른 두 단어의 인코딩이 같은 충돌이 발생할 수도 있다.
Alan이 인코딩하려는 개의 단어 목록과 그가 사용하는 대응 관계가 주어질 때, 목록의 단어 사이에 충돌이 발생하는지 알아내라.
시간 제한: 20초.
메모리 제한: 2 GB.
.
모든 에 대해, .
모든 에 대해, 는 의 길이이다.
모든 에 대해, 의 각 문자는 A부터 Z까지의 영어 대문자이다.
모든 에 대해, .
.
.
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 Alan이 사용하는 대응 관계를 나타내는 개의 십진수 숫자(각각 이상 이하인 정수) 가 주어진다. 문자 는 숫자 에 대응한다. 각 테스트 케이스의 두 번째 줄에는 Alan이 인코딩할 단어의 수 가 주어진다. 마지막 개 줄 중 번째 줄에는 Alan이 인코딩할 번째 단어를 나타내는 문자열 가 주어진다.
각 테스트 케이스마다 Case #$x$: $y$을 포함하는 한 줄을 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호이고, 는 목록에 인코딩이 일치하는 서로 다른 단어 쌍이 적어도 하나 있으면 YES, 그렇지 않으면 NO이다.
2
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4
ABC
BC
BCD
CDE
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3
CDE
DEF
EFG
Case #1: NO
Case #2: YES
예제 케이스 #1에서 A의 대응값은 , B의 대응값은 , C의 대응값은 , D의 대응값은 , E의 대응값은 이다. 이 대응 관계에서 ABC는 로, BC는 로, BCD는 로, CDE는 로 인코딩된다. 이 인코딩들은 모두 서로 다르므로 충돌이 없다.
예제 케이스 #2에서 C의 대응값은 , D의 대응값은 , E의 대응값은 , F의 대응값은 , G의 대응값은 이다. 이 대응 관계에서 CDE는 로, DEF는 로, EFG는 로 인코딩된다. DEF과 EFG의 인코딩이 같으므로 충돌이 있다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.