题意:
商家只卖第一串
买家是第二串
问买家需要的珠子在第一串中满不满足。若满足,看看多买了多少珠子。否则看看缺了哪些
思路:
太简单,哈希表都不需要用,直接用数组
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
#include<stack>
#include<vector>
#include<queue>
#include<string>
#include<map>
using namespace std;
#define INF 99999999
#define M 700
int main(){
string s1,s2;
int hash[1000];
int moren=0,lessn=0;
memset(hash,0,sizeof(hash));
int i,j;
cin>>s1;
for(i=0;i<s1.length();i++)
{
hash[ s1[i] ]++;
}
cin>>s2;
for(i=0;i<s2.length();i++)
{
if(hash[ s2[i] ]==0)
{
lessn++;
}
else
hash[s2[i]]--;
}
if(lessn ==0)
{
printf("Yes %d\n",s1.length() - s2.length());
}
else
printf("No %d\n",lessn);
return 0;
}