其实这个题挺简单的,代码如下:
#include<iostream>
using namespace std;
int main(){
int num1[123]={0},num2[123]={0}; //'z'的ASCII码:122
char str1[10001],str2[1001];
bool flag=true;
int count1=0,count2=0; //count1:差的数目,count2:多出的数目
scanf("%s",str1);
scanf("%s",str2);
for(int i=0;str1[i]!='\0';i++){
num1[str1[i]]++;
}
for(int i=0;str2[i]!='\0';i++){
num2[str2[i]]++;
}
for(int i=0;i<123;i++){
if(num2[i]>num1[i]){
flag=false;
count1=count1+(num2[i]-num1[i]);
}else{
count2=count2+(num1[i]-num2[i]);
}
}
if(flag==false){
cout<<"No "<<count1;
}else{
cout<<"Yes "<<count2;
}
return 0;
}