1918: 等值数目
Time Limit: 1 Sec Memory Limit: 64 MB Submit: 109 Solved: 40 [Submit][Status][Web Board]Description
已知两个整数数组f[]和g[],它们的元素都已经从小到大排列。例如f[]中可能有 1,2,2,3,3,g[]中有1,2,2,2,3。 请写一个程序,算出这两个数组彼此之间有多少组相同的数据。就以上例而言: f[0] 于g[0]是第一组; f[1]于g[1]是第二组; f[2]于g[2]是第三组; f[3]于g[4]是第四组。
Input
第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。 第二行有m个元素,为数组f[]。 第三行有n个元素,为数组g[]。
Output
输出等值数目。
Sample Input
5 5
1 2 2 2 3
1 2 2 3 3
Sample Output
4
#include<stdio.h> int main() { int m,n,i,j; int count=0; int a[1001],b[1001],c[1001],d[1001]; scanf("%d %d",&m,&n); for(i=0;i<m;i++) { scanf("%d",&a[i]); c[i]=0; } for(j=0;j<n;j++) { scanf("%d",&b[j]); d[j]=0; } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i]==b[j]&&c[i]==0&&d[j]==0) { c[i]=1; d[j]=1; count++; break; } } } printf("%d",count); return 0; }