POJ2159 Ancient Cipher

来源:互联网 发布:iphone7数据恢复失败 编辑:程序博客网 时间:2024/05/17 22:04

题目大意:字符串加密问题,采用字符替换和重新排列的综合方法加密。输入为加密串和字符串,不含空格的大写字母。


解题思路:两种加密方法在具体过程中应用并不唯一,即我们不知道具体的加密过程,所以只需统计出现字符的种类和不同种类次数,且排续后完全相同,则判定为加密字符串。


#include <iostream>#include <algorithm> using namespace std; #define MAXN 260 char strA[MAXN];char strB[MAXN];int cntA[MAXN];int cntB[MAXN]; int main(){scanf("%s%s",strA,strB); int len=strlen(strB); for(int i=0;i<len;i++) cntA[strA[i]-'A']++;for(int i=0;i<len;i++) cntB[strB[i]-'A']++; sort(cntA,cntA+26);sort(cntB,cntB+26); bool ok=true;for(int i=0;i<26;i++)if(cntA[i]!=cntB[i]){ok=false;break;} if(ok) printf("YES\n");else printf("NO\n");     return 0;}


0 0
原创粉丝点击