题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2946
题意:给出字母库,求是否能够拼出单词。
感想:第一次做的时候没看懂题意,还以为有两组测试数据,结果后来才知道只有一组,坑爹啊!
参考代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int t,i,j,k,n;
char s[1000],c[1000],a[1000],b[1000];
cin>>t;
while(t--)
{
memset(a,0,sizeof(a));
cin>>s;
for(i=0;i<strlen(s);i++)
a[s[i]-'A']++;
cin>>n;
while(n--)
{
cin>>c;
memset(b,0,sizeof(b));
for(j=0;j<strlen(c);j++)
b[c[j]-'A']++;
for(k=0;k<26;k++)
{
if(b[k]>a[k])
{
cout<<"NO\n";
break;
}
}
if(k==26)
cout<<"YES\n";
}
}
return 0;
}