| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1.5 초 | 256 MB | 1020 | 260 | 220 | 30.556% |
비즈네르 암호는 고전 암호의 일종으로, 대문자 알파벳으로만 이뤄진 평문에 키를 더하여 암호를 만드는 방법이다. 구체적인 과정은 다음과 같다.
예를 들어, 평문이 HELLOWORLD이고, 키가 SCUPC라고 하자. 1에서 키를 두 번 반복해 SCUPCSCUPC가 되며, 2에서 수에 대응시키면 키는 $[19, 3, 21, 16, 3, 19, 3, 21, 16, 3],ドル 평문인 HELLOWORLD는 $[8, 5, 12, 12, 15, 23, 15, 18, 12, 4]$가 된다. 이후 3에서 동일한 위치에 있는 수를 더하면 $[27, 8, 33, 28, 18, 42, 18, 39, 28, 7]$이며, 26 초과인 수에서 26을 빼면 $[1, 8, 7, 2, 18, 16, 18, 13, 2, 7]$이 된다. 이를 다시 알파벳에 대응시키면, 최종 결과는 AHGBRPRMBG가 된다.
평문과 임의의 키를 사용해 만든 비즈네르 암호문이 주어질 때, 가능한 키 중 가장 짧은 키를 찾아보자.
첫 번째 줄에 평문이 주어진다. 평문은 알파벳 대문자로만 구성되어 있으며, 평문의 길이는 200ドル,000円$을 넘지 않는다.
두 번째 줄에 평문에 대한 비즈네르 암호문이 주어진다. 암호문은 알파벳 대문자로만 구성되어 있으며, 주어진 평문과 동일한 길이를 가진다. 올바른 비즈네르 암호문이 주어지며, 답이 항상 존재함이 보장된다.
첫 번째 줄에 가능한 키 중 가장 짧은 키를 출력한다.
BIGDATASECURITY UNVYMMFHZONWXOK
SEOUL
HELLOWORLD KHOORZRUOG
C
HELLOWORLD AHGBRPRMBG
SCUPC