链接:Ural - 1196
题意:给一个包含 N 个数的列表1,一份包含 M 个数的列表2,求列表 2 里的数字在列表 1 中出现 的次数。列表 1 和列表 2 均可能包含重复数字。
思路:暴力二分。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
#define maxn 1000003
#define maxm 15003
int st[maxn],p[maxm];
int main()
{
int n,m;
scanf("%d",&m);
for(int i = 0;i < m;++i)
{
scanf("%d",&p[i]);
}
scanf("%d",&n);
for(int i = 0;i < n;++i)
{
scanf("%d",&st[i]);
}
int ans = 0;
sort(p,p+m);
for(int i = 0;i < n;++i)
{
int t = st[i];
if(binary_search(p,p+m,t))
{
ans++;
}
}
printf("%d\n",ans);
return 0;
}