【题意】给定两个长度为n的字符串,判断他们之间的26个字母是否能一一对应!(只有大写字母)

【解题思路】贪心!

【AC代码】

//cpp try two pointers

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1010;
char s1[maxn],s2[maxn];
int a[26],b[26];
int main()
{
while(~scanf("%s",s1)){
scanf("%s",s2);
int n = strlen(s1);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=0; i<n; i++){
a[s1[i]-'A']++;
b[s2[i]-'A']++;
}
sort(a,a+26);
sort(b,b+26);
bool fuck = true;
for(int i=0; i<26; i++){
if(a[i]!=b[i]){
fuck = false;
break;
}
}
if(fuck) puts("YES");
else puts("NO");
}
return 0;
}