시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 150 | 85 | 72 | 54.545% |
원철이는 대한민국의 국방을 위한 암호학 시간에 카이사르 암호에 대해 배웠다. 카이사르 암호는 매우 유명한 암호체계로 매우 간단한 치환암호의 일종이다. 간단히 설명하면 다음과 같다.
원철이는 이 암호의 단점도 같이 배웠다. 그것은 글자의 빈도수를 분석해 보는 것으로 암호가 쉽게 파악될 수 있다는 것이다. 똑똑한 원철이는 한 글자를 두 글자로 암호화하여 이러한 단점을 피할 수 있을 것이라고 생각했다. 즉 "x"를 어떤 "yz"로 암호화하겠다는 것이다. 원철이는 카이사르 암호와 비슷하게 "x"를 x ≡ (y+z-n) mod 26이 되는 "yz"로 암호화하는 방식을 원철 암호라고 하기로 했다. 만약 암호화해야 할 것이 글자가 아닌 단어라면, 단어의 맨 앞에서부터 차례대로 한 글자씩 암호화한 것을 순서대로 붙여서 사용하기로 했다.
그러나 원철이는 이런 식으로 암호화를 하게 되면 단어의 길이가 모두 짝수가 되므로 이 암호문이 원철 암호를 사용했다는 사실이 파악될 수 있다는 사실을 깨달았다. 그러므로 원철이는 암호화된 단어의 맨 뒤에 마음대로 더미(dummy) 글자를 한 글자 붙일 수도 있다.
원철이는 원철 암호를 생각한 뒤부터 일상생활의 모든 대화를 원철 암호로 하기 시작했다. 당신은 원철이가 하는 말을 알아 들을 수 있을까?
첫 번째 줄에는 암호화에 사용되는 키를 의미하는 정수 n (0 ≤ n < 26)이 주어진다.
두 번째 줄은 100개 이하의 단어로 구성되어 있다. 각 단어의 길이는 2 이상 101 이하이고 영어 소문자('a'-'z')로만 구성되어 있으며 공백 하나로 구분되어 있다. 이 단어는 모두 원철 암호로 암호화된 단어이다.
입력에서 주어진 순서대로 원철 암호로 암호화된 단어를 복호화하여 공백 하나로 구분하여 출력한다.
2 axcexseg yzkansuqe mlssltqu
veni vidi vici
Contest > kriiicon > 제2회 kriiICPC V번