Programming contests

ECN selejtező programozó csapatverseny, 2018. április 21.

April 21, 2018 10:15 AM – April 21, 2018 3:15 PM

DRM Messages

DRM Encryption is a new kind of encryption. Given an encrypted string (which we'll call a DRM message), the decryption process involves three steps: Divide, Rotate, and Merge. This process is described in the following example with the DRM message “EWPGAJRB”:

Divide – First, divide the message in half to “EWPG” and “AJRB”.

Rotate – For each half, calculate its rotation value by summing up the values of each character (A = 0, B = 1, …, Z = 25). The rotation value of “EWPG” is 4 + 22 + 15 + 6 = 47. Rotate each character in “EWPG” 47 positions forward (wrapping from 'Z' to 'A' when necessary) to obtain the new string “ZRKB”. Following the same process on “AJRB” results in “BKSC”.

Merge – The last step is to combine these new strings (“ZRKB” and “BKSC”) by rotating each character in the first string by the value of the corresponding character in the second string. For the first position, rotating 'Z' by 'B' means moving it forward 1 character, which wraps it around to 'A'. Continuing this process for every character results in the final decrypted message, “ABCD”.

Input Specification

The input contains a single DRM message to be decrypted. All characters in the string are uppercase letters, and the string's length is even and ≤ 15 000.

Output Specification

Display the decrypted DRM message.

Sample Input 1

  1. EWPGAJRB
download as text file

Output for Sample Input 1

  1. ABCD
download as text file

Sample Input 2

  1. UEQBJPJCBUDGBNKCAHXCVERXUCVK
download as text file

Output for Sample Input 2

  1. ACMECNACONTEST
download as text file
University of Debrecen; Faculty of Informatics; v. 03/01/2019