#include <iostream>
#include<algorithm>
using namespace std;
const static int MAX_LEN =101;
const static int FRE_LEN=26;
void CountFrequence(char *in_data,int *out_data);
bool CompareFrequence(int *frequence_a,int *frequence_b);
int main()
{
char ciperText[MAX_LEN]={'\0'};
char plaintText[MAX_LEN]={'\0'};
int ciperFre[FRE_LEN]={0};
int plaintFre[FRE_LEN]={0};
cin>>ciperText>>plaintText;
CountFrequence(ciperText,ciperFre);
CountFrequence(plaintText,plaintFre);
cout<<(CompareFrequence(ciperFre,plaintFre)?"YES":"NO")<<endl;
return 0;
}
void CountFrequence(char *in_data, int *out_data)
{
for(int i=0;*(in_data+i)!='\0';i++)
{
*(out_data+(*(in_data+i)-'A'))+=1;
}
sort(out_data,out_data+FRE_LEN);
}
bool CompareFrequence(int *frequence_a, int *frequence_b)
{
bool result=true;
for(int i=0;i<FRE_LEN;i++)
{
result=(*(frequence_a+i)==*(frequence_b+i));
if(result==false)
break;
}
return result;
#include<algorithm>
using namespace std;
const static int MAX_LEN =101;
const static int FRE_LEN=26;
void CountFrequence(char *in_data,int *out_data);
bool CompareFrequence(int *frequence_a,int *frequence_b);
int main()
{
char ciperText[MAX_LEN]={'\0'};
char plaintText[MAX_LEN]={'\0'};
int ciperFre[FRE_LEN]={0};
int plaintFre[FRE_LEN]={0};
cin>>ciperText>>plaintText;
CountFrequence(ciperText,ciperFre);
CountFrequence(plaintText,plaintFre);
cout<<(CompareFrequence(ciperFre,plaintFre)?"YES":"NO")<<endl;
return 0;
}
void CountFrequence(char *in_data, int *out_data)
{
for(int i=0;*(in_data+i)!='\0';i++)
{
*(out_data+(*(in_data+i)-'A'))+=1;
}
sort(out_data,out_data+FRE_LEN);
}
bool CompareFrequence(int *frequence_a, int *frequence_b)
{
bool result=true;
for(int i=0;i<FRE_LEN;i++)
{
result=(*(frequence_a+i)==*(frequence_b+i));
if(result==false)
break;
}
return result;
}
要注意的就是bool的两个变量是小写。
sort()函数是在algorithm这个库里。