Submit | All submissions | Best solutions | Back to list |
GCPC11F - Diary |
Nowadays, people who want to communicate in a secure way use asymmetric encryption algorithms such as RSA. However, my older brother uses another, simpler encryption method for his diary entries. He uses a substitution cipher where each letter in the plaintext is substituted by another letter from the alphabet. The distance between the plaintext letter and the encrypted letter is fixed. If we would define this fixed distance d to 5, A would be replaced by F, B by G, C by H ... Y by D, Z by E.
With a fixed and known distance d the decryption would be somewhat simple. But my brother uses random distances for each of his diary entries. To decrypt his diary I have to guess the distance d for each entry. Thus, I use the well known phenomenon that the letter E is used more often in English words than other letters. Can you write a program for me that calculates the distance d based on the fact that the most used letter in the encrypted text corresponds to the letter E in plaintext? Of course, I am interested in the decrypted text, too.
Input
The input consists of several test cases c that follow (1 ≤ c ≤ 100). Each test case is given in exactly one line containing one diary entry. Diary entries only use upper case letters (A-Z) and spaces. Each diary entry consists of at most 1000 encrypted letters (including spaces).
Output
For each test case, print one line containing the smallest possible distance d (0 ≤ d ≤ 25) and the decrypted text. If the decryption is not possible because there are multiple distances conforming to the rules above, print NOT POSSIBLE instead. Spaces are not encrypted.
Example
Input: 4 RD TQIJW GWTYMJWX INFWD JSYWNJX ZXJ F XNRUQJ JSHWDUYNTS YJHMSNVZJ THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG XVIDRE TFCCVXZRKV GIFXIRDDZEX TFEKVJK UVTIPGKZFE XVIDRE TFCCVXZRKV GIFXIRDDZEX TFEKVJK Output: 5 MY OLDER BROTHERS DIARY ENTRIES USE A SIMPLE ENCRYPTION TECHNIQUE 10 JXU GKYSA RHEMD VEN ZKCFI ELUH JXU BQPO TEW 17 GERMAN COLLEGIATE PROGRAMMING CONTEST DECRYPTION NOT POSSIBLE
Added by: | Adrian Kuegel |
Date: | 2011-07-05 |
Time limit: | 0.407s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | German Collegiate Programming Contest 2011 (Author: Tobias Werth) |
hide comments
|
||||||||
2013-05-27 19:21:01 Atul Kumar Verma
i found it easy..AC in one go..!!! |
||||||||
2013-03-05 19:14:04 Ali Kanaan
please, how can I know in which case I get WA can any body check my submit for me please , id:8837056 I'm sure to cover most of the input possibility unless the input of spaces I don't know if you test such a case |
||||||||
2013-02-17 19:41:20 Meraj Ahmed
getting wrong answer in judge 6, please point out where i am going wrong, submission id: 8733638 |
||||||||
2012-10-25 16:36:43 gourav
stupid question... waste of time |
||||||||
2012-09-01 08:23:46 nikoo28
trick test case: EER output: 0 EER |
||||||||
2012-06-29 12:24:27 raw_input()
more test case plz getting WA..... |
||||||||
2012-06-05 17:50:17 Laplace
VERY BAD PROBLEM...... |
||||||||
2012-06-04 03:10:32 killerz
Nice prob :) Taught me this... To avoid probs with getline in loops in c++ use cin.ignore(); after first cin |
||||||||
2012-05-31 10:19:27 Tushar Agrawal
@Adrian - I am getting correct answer for whatever case i try, but Im getting WA. Please look at my code and tell me what is wrong: id: 7066730 |
||||||||
2012-05-29 07:50:48 mindfuck
Nice problem !! |