Encryption | ||||||
| ||||||
Description | ||||||
Alice thinks it is very inconvenient to have to keep one of her keys in a public–private key pair secret. Therefore she invented a public–public key encryption scheme called the Really Secure Algorithm (RSA). The algorithm works as follows: A word is a sequence of between one and ten capital letters (A–Z). A sentence is a sequence of words, separated by spaces. The first public key is a sentence in which each word is used at most once. The second public key is a sentence formed by applying a permutation p to the words in the first public key. The plaintext (the unencrypted message) is a sentence that has exactly as many words as the public keys. (Unlike for the public keys, these words are not necessarily unique.) The ciphertext (the encrypted message) is the sentence formed by applying the permutation p to the plaintext. Given the two public keys and the ciphertext, recover the plaintext. | ||||||
Input | ||||||
On the first line one positive number: the number of test cases, at most 100. After that per test case: # one line with an integer n (1 <= n <= 1 000): the number of words in each sentence. # one line with a sentence: the first public key. # one line with a sentence: the second public key. # one line with a sentence: the ciphertext. All words consist of at least 1 and at most 10 uppercase letters. | ||||||
Output | ||||||
Per test case: # one line with a sentence: the plaintext. | ||||||
Sample Input | ||||||
2 4 A B C D D A B C C B A P 3 SECURITY THROUGH OBSCURITY OBSCURITY THROUGH SECURITY TOMORROW ATTACK WE | ||||||
Sample Output | ||||||
B A P C WE ATTACK TOMORROW 用map记录原来位置之后赋值给密文排序,得到的就是原文
|
Hust oj 2104 Encryption(map)
最新推荐文章于 2024-06-08 10:19:35 发布