poj2159——我的代码一般都比较简洁,,,

来源:互联网 发布:重庆市安徽商会域名 编辑:程序博客网 时间:2024/05/16 00:51

密码验证问题,注意题目有点难理解,统计原串与密串中出现的各字符的出现次数,按次数排序。如果a加密成b,则a出现的次数一定与b出现的次数相等,利用这个原理就行

#include <iostream>#include <algorithm>
using namespace std;const int maxn=105;char mi[maxn],msg[maxn];int main(){    int m[26]={0},g[26]={0};    scanf("%s%s",mi,msg);    int lm=strlen(mi);    for(int i=0;i<lm;i++){        m[mi[i]-'A']++;        g[msg[i]-'A']++;    }    sort(m,m+26);    sort(g,g+26);    bool flag=true;    for(int i=0;i<26;i++){        if(m[i]!=g[i]){            flag=false;            break;        }    }    if(flag)puts("YES");    else puts("NO");    return 0;}

0 0