散列函数的使用,其实哈希表也可以:
题目简单去进行描述一下:就是现在去商店买东西,然后去匹配。如果我要的种类商店都有,但是数量不够,那么输出yes,且输出缺少的数量。如果我所需要的种类没有,那么输出no,然后输出缺少种类的数量。
//注意一种情况:珠子的种类都有,但是数量不够
#include <iostream>
using namespace std;
const int N=256;
int cnt[N];
int main(){
string a,b;
cin>>a>>b;//
for(int i=0;i<a.size();i++) cnt[a[i]]++;//统计没一个字符出现的次数
//现在去进行我们的字符字符的检索
int res=0;//用于无关字符的统计
for(int i=0;i<b.size();i++){
if(cnt[b[i]]>0) cnt[b[i]]--;
else res++;
}
if(res) cout<<"No "<<res;
else cout<<"Yes "<<a.size()-b.size();
return 0;
}