#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
char line1[110];
char line2[110];
char line3[210];
scanf("%s", line1);
scanf("%s", line2);
scanf("%s", line3);
int sta[30];
int lat[30];
memset(sta, 0, sizeof(sta));
memset(lat, 0, sizeof(lat));
int length1=strlen(line1);
int length2=strlen(line2);
int length3=strlen(line3);
int i;
for(i=0; i<length1; ++i)
{
++sta[line1[i]-65];
}
for(i=0; i<length2; ++i)
{
++sta[line2[i]-65];
}
for(i=0; i<length3; ++i)
{
++lat[line3[i]-65];
}
bool Put=true;
for(i=0; i<26; ++i)
{
if(sta[i]!=lat[i])
{
Put=false;
break;
}
}
if(Put)
printf("YES\n");
else
printf("NO\n");
return 0;
}
改进版:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
char line[210];
int sta[30];
memset(sta, 0, sizeof(sta));
scanf("%s", line);
int length=strlen(line);
int i;
for(i=0; i<length; ++i)
{
++sta[line[i]-65];
}
scanf("%s", line);
length=strlen(line);
for(i=0; i<length; ++i)
{
++sta[line[i]-65];
}
scanf("%s", line);
length=strlen(line);
for(i=0; i<length; ++i)
{
--sta[line[i]-65];
}
bool Put=true;
for(i=0; i<26; ++i)
{
if(sta[i]!=0)
{
Put=false;
break;
}
}
puts(Put?"YES":"NO");
return 0;
}