SNGMSG - Encode Message
Everyone knows that how much Shahjahan loved Mumtaaz, that he got built the Taj Mahal in the memory of his beloved Mumtaaz. Once Mumtaaz had fight with Shahjahan and she went to her father's home. Shahjahan then wrote a letter to Mumtaaz requesting her to come back, but then suddenly he realized that it is not safe to write letter in plain format (non-encoded message), so he thought whole day for a good method of encryption and then came up with a great idea of decoding his messages.
The technique of encoding messages used by Shahejahan is describes as-
1. A key K is set of digits (0-9) such that its value doesn't exceed 106.
2. A message M is set of small letters (a-z) such that its length doesn't exceed 500.
3. The encoding function F(m, k) = m' is a function that takes one digit from key and one character from message and encode it to another character.
The encoding algorithm is given by following pseudo code-
start of code
-
1. Repeat until message has characters to be encoded.
-
2. Read next character c, of message.
3. Read next digit k, of key.
4. Encode using the function F(m, k) = m' : m' = m + k.
-
5. If last digit k, of key is read then start reading in reverse order.
6. If first digit k, of key is read while reading in reverse order, then start again reading in forward direction.
end of code
The addition operation to characters is cyclic. Consider the following examples demonstrating the operator-
1. 'a' + 2 = 'c'
2. 't' + 1 = 'u'
3. 'z' + 2 = 'b'
4. 'y' + 0 = 'y'
Consider the following encoding of message "mumtaaz" with key 132-
Character c | Digit k | F(c, k) |
---|---|---|
m | 1 | n |
u | 3 | x |
m | 2 | o |
t | 2 | v |
a | 3 | d |
a | 1 | b |
z | 1 | a |
So message "mumtaaz" is encoded as "nxovdba".
Input
First line of input it T (T < 10001), total number of test cases.
Each test case is consist of two lines, the first line contains key and second line contains encoded message.
Output
For each test cases, output the original message in single line.
Example
Input: 6 132 nxovdba 212 uitktjvjmc 011 lfbejngafspsasfjnposubot 123 jnrygzpw 11 lfbejngafspsasfjnposubot 130 behipbobu Output: mumtaaz shrishtika leadingzerosareimportant iloveyou keadimfzerorzreimonrtans abhimanyu
hide comments
siddharth__:
2015-12-25 22:19:43
Nice one..
|
|
Siddharth Singh:
2015-12-07 08:52:43
Excellent Problem , Loved It |
|
rahul_verma:
2015-10-22 14:54:05
very nice problem !!! AC IN 1st Go :)
|
|
ANIKET:
2015-08-27 12:06:53
if want to do in python make a dict of alphabet and its index.Don't use ord or you will get tle
|
|
Mitesh Kothari:
2015-05-27 20:29:15
Very simple question.. but still better than a few other straightforward encryption ones! Last edit: 2015-05-28 19:57:01 |
|
sanchay:
2015-01-25 18:16:05
Be careful with leading zeros in Key. |
|
californiagurl:
2015-01-04 21:25:30
i have no idea why i keep getting tle |
|
__hk__:
2014-12-08 12:35:36
easy one.....ac in one go !! |
|
Faiz Malik:
2014-08-16 15:30:34
AC in 1st go ..:) |
|
agnu:
2014-10-20 22:28:44
century!!!!! |
Added by: | AvmnuSng |
Date: | 2014-02-27 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | Abhimanyu Singh My Problems |