题意:找出三个数组中相同的数字的个数
代码如下:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int num[3][4005];
int sav[4005];
int top=0;
int main(){
// freopen("data.txt","r",stdin);
int n[3];
scanf("%d",&n[0]);
for(int i=0;i<n[0];++i)
{
scanf("%d",&num[0][i]);
}
scanf("%d",&n[1]);
int it=0;
for(int i=0;i<n[1];++i)
{
scanf("%d",&num[1][i]);
for(;it<n[0];++it)
{
if(num[0][it]==num[1][i]){sav[top++]=num[1][i];break;}
if(num[0][it]>num[1][i])break;
}
}
scanf("%d",&n[2]);
int ans=0;
it=0;
for(int i=0;i<n[2];++i)
{
scanf("%d",&num[2][i]);
for(;it<top;++it)
{
if(sav[it]==num[2][i]){
ans++;break;
}
if(sav[it]>num[2][i])break;
}
}
printf("%d\n",ans);
return 0;
}