三生三世
原题链接https://nuoyanli.com/contest/32/problem/E
录入两个字符串
用桶排记录每个字符串中每个字母的个数
判断两个字符串中每个字母出现的次数是否相同
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
long long n;
scanf("%lld",&n);
char s[n+5];
char ss[n+5];
long long a[150]= {0};
long long b[150]= {0};
long long c=0,i,cc=0;
memset(s,0,sizeof(s));
memset(ss,0,sizeof(ss));
scanf("%s",s);
scanf("%s",ss);
for(i=0; i<n; i++)
{
if(s[i]!=ss[i])
{
c=1;
}
}
if(c==0)
{
printf("no");
}
else
{
for(i=0; i<=n; i++)
{
a[s[i]]++;
}
for(i=0; i<n; i++)
{
b[ss[i]]++;
}
for(i=65; i<=122; i++)
{
if(a[i]>0&&b[i]>0)
{
if(a[i]!=b[i])
{
cc=1;
break;
}
}
if(a[i]>0&&b[i]<=0)
{
cc=1;
break;
}
if(a[i]<=0&&b[i]>0)
{
cc=1;
break;
}
}
if(cc==1)
{
printf("no");
}
else
{
printf("yes");
}
}
return 0;
}