#include<iostream>
#include<set>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int a[101];
int i,t,n,m;
int y[10001];
while(cin>>n)
{
memset(a,0,sizeof(a));
for(i=0;i<n;++i)
{
cin>>t;
++a[t];
}
cin>>m;
for(i=0;i<m;++i)
{
cin>>t;
y[i]=a[t];
}
for(i=0;i<m-1;++i)
cout<<y[i]<<' ';
cout<<y[i]<<endl;
}
return 0;
}
/*用STL,很可惜算法效率不高,运行超时。。
#include<iostream>
#include<set>
#include<algorithm>
using namespace std;
int main()
{
multiset<int> a;
int i,t,n,m;
int x[101];
while(cin>>n)
{
for(i=0;i<n;++i)
{
cin>>t;
a.insert(t);
}
cin>>m;
for(i=0;i<m;++i)
{
cin>>x[i];
x[i]=count(a.begin(),a.end(),x[i]);
}
for(i=0;i<m-1;++i)
cout<<x[i]<<' ';
cout<<x[i]<<endl;
a.clear();
}
return 0;
}
*/
这两段代码都是提交不成功的。第一段是常规做法。。但是题目的意思不一致……并不是我的错。
第二段代码是用STL做的。。运行超时,,感觉题目对输出的和网上标准答案不一样……这个题目练手还好,不必深究!