poj-2159-Ancient Cipher

字符串的水题,说要怎么怎么转化怎么怎么匹配,其实一眼就能看出只需要匹配字符个数就好了
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;


int main()
{
    char s1[105],s2[105];
    int a[26],b[26];
    while(scanf("%s %s", s1,s2)!= EOF)
    {
         memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        bool flag=true;
        int l1=strlen(s1);
        int l2=strlen(s2);
        if(l1!=l2) { printf("NO\n"); continue; }
        for(int i=0;i<l1;i++)
        {
            a[s1[i]-'A']++;
            b[s2[i]-'A']++;
        }
        sort(a,a+26);
        sort(b,b+26);
        for(int i=0;i<26;i++)
          {
              if(a[i]!=b[i])
                {
                    flag=false;
                    break;
                }
            }
       if(flag)  printf("YES\n");
        else  printf("NO\n");
    }
    return 0;
}


你可能感兴趣的:(模拟)