解题思路:用map存储拥有的每个珠子的数量,然后减去需要的珠子数量,如果不够,则统计缺少的珠子数量,反之输出两者的珠子的数量差
#include<bits/stdc++.h>
using namespace std;
int main(){
string s,str;
int sum=0;
map<char,int>mp;
map<char,int>::iterator it;
cin>>str;
cin>>s;
for(int i=0;i<str.size();i++){
mp[str[i]]++;
}
for(int i=0;i<s.size();i++){
if(mp[s[i]]>0)
mp[s[i]]--;
else
sum++;
}
if(sum==0)
cout<<"Yes"<<' '<<str.size()-s.size();
else
cout<<"No"<<' '<<sum;
}
运行结果: