狼群战术 | ||
Time Limit : 1000 MS | Memory Limit : 65536 KB | |
Description | ||
二战中德军潜艇使用狼群战术使得盟军的运输线遭受重大的损失。盟军截获了德军潜艇的通信电报,但电报显然是加了密的,经过盟军解密人员和情报人员的努力,终于解密了德军的密码,其编码方式如下:使用一个5*5的矩阵,纵和横坐标都依次为ABCDE,上面分别写有除V以外的25个字母,然后每个字母使用横纵坐标的字母表示,V使用FF表示。具体矩阵如下:
第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例。每个测试用例为一个字符串(最大长度不超过1000);字符串为大写英文和标点组成的。
每行输出一个测试用例的结果。请输出对应的明文。 | ||
Sample Input | ||
2 CAAEAECAEB ECADBCAEBCCBDACBDABCBE. ADACAEBBADED AEBD ECACCBAC,EBCABEAECABCED. | ||
Sample Output | ||
ATTACK BRITISH SHIP. RETURN TO BASE,CAPTAIN. 参考代码: #include<iostream> #include<stdio.h> using namespace std; char m[5][5]={'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','B','N','M' }; char s[1000]; int main() {int ca;cin>>ca;gets(s);while(ca--){ gets(s);for(int i=0;s[i]!='\0';i++){if(s[i]>='A'&&s[i]<='Z'){if(s[i]=='F'&&s[i+1]=='F'){cout<<'V';i++;}else{char a;a=s[i+1];cout<<m[int (s[i]-'A')][int (a-'A')];i++;}}elsecout<<s[i];}cout<<endl;}return 0; } |
转载于:https://www.cnblogs.com/tufujie/p/4854250.html