1039 到底买不买
只要有一个珠子缺少,那么就是缺少珠子,我们需要将缺少的珠子(mp[x]<0的)加起来。
#include <bits/stdc++.h>
using namespace std;
char cs[1100],cs2[1100];
map<char,int> mp;
int main(){
cin>>cs>>cs2;
for(int i=0;i<strlen(cs);i++){
mp[cs[i]]++;
}
int qs=0,dy=0,flag=0;//不缺少珠子
for(int i=0;i<strlen(cs2);i++){
if(mp[cs2[i]]>0){
mp[cs2[i]]--;//减少
}else{
flag=1;//缺少珠子
mp[cs2[i]]--;
}
}
int dist = 0;
if(flag){
for(auto x : mp){
if(x.second < 0){
dist += abs(x.second);
}
}
cout << "No" << " " << dist;
}else{
for(auto x : mp){
if(x.second > 0){
dist += x.second;
}
}
cout << "Yes" << " " << dist;
}
return 0;
}