HS12HDPW - Hidden Password
You are given two alphanumeric ASCII strings. An ancient manuscript says those strings contain a hidden password. Decode it!
The first string may be grouped into tuples of six characters each. For each such 6-tuple, taking from the i-th character (start counting from 0) the i-th bit of its ASCII code gives you a number (call it a), and likewise taking the ((i+3) mod 6)-th bits gives you another number (call it b).
These two numbers tell you about the next two characters to be included in the password, namely the a-th and the b-th character from the second string (count starting from 0 as usual).
Input
First, you are given t (t < 100) - the number of test cases.
Each of the test cases starts with one number n (n < 100) - the number of 6-tuples in the first string, followed by the two strings in separate lines (please have a look at the example to see the correct format). The second string is 64 characters long.
Successive test cases are separated by an empty line.
Output
For each of the test cases, output its hidden password in a separate line.
Example
Input: 2 2 qwe345 rf3Arg XSBSRasdew9873465hkldsfsalndfvnfq489uqovkLKJHaeDaae555Sk5asdpASD 3 2S4J5K 111111 lrtb2A isimgsow45ipfgisd56wfgngdfcdkgc7kKKKkuuJJgfstdygQdWORQADFSLKF2K8 Output: keep coding
Explanation
Let us have a look at the first 6-tuple: qwe345.
char. ASCII code q 113 = 01110001B w 119 = 01110111B e 101 = 01100101B 3 51 = 00110011B 4 52 = 00110100B 5 53 = 00110101B
a (blue bits) = 110111B = 55
b (red bits) = 101110B = 46
hide comments
john_doe_29a:
2023-07-16 20:27:23
The description of this problem is simply horrible. The only way to understand the goal here is by studying the example. Author's english could use some serious practice. |
|
lq_mcdonald70:
2022-07-16 18:11:05
Well frommy understanding the goal is basically to extract the passwords from the 64 character long string (counting from 0). The indexes for the password characters are gotten from the 6-tuple given.
|
|
dziki_punk:
2020-04-30 22:58:35
Would be easy if author explained it better.
|
|
nadstratosfer:
2018-05-07 03:12:17
Statement contains a typo, but it's obvious from the example case that we're supposed to use (i+3)%6 -th bit. |
|
ndrewxie:
2018-05-06 20:39:02
Wait, you're supposed to iterate for all 6 tuples! I see. Nevermind!
|
|
ndrewxie:
2018-05-06 20:34:51
?
|
|
stoneark:
2017-11-27 10:15:46
Attention: "Successive test cases are separated by an empty line." |
|
w4ff3l:
2017-10-16 20:55:05
First try, this was a good lesson! |
|
love_god:
2017-10-12 12:38:39
plz someone explain it?
|
|
kejriwal_pk:
2017-07-26 09:42:10
Once you understand the question, its easy. C++ STL Bitset was helpful for solving this problem. |
Added by: | kuszi |
Date: | 2012-09-10 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | High School Programming League 2012 |