[BOJ 10465] Rolling Encryption

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 256M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

You have a sequence of lowercase characters that you want to encrypt.</p>

The first k characters will be encoded as plain-text. All characters after the first k characters will be shifted by the most frequently occuring character that appeared in the previous k characters, with ties broken by the character which occurs first in the alphabet. By "shifted by", we mean that if c was the most frequently occuring character, the character would be shifted ahead by 3 positions (since c is the third letter of the alphabet), modulo 26 (e.g., b becomes e, and z becomes c).

입력 형식

On the first line of input contains k (1 ≤ k ≤ 10 000). The next line contains c characters (1 ≤ c ≤ 100 000).

출력 형식

One line, containing the encrypted version of the c characters from the input.

예제 입력

5
abbaabbacdecde

예제 출력

abbaacdcdegdgh

Comments

There are no comments at the moment.