http://acm.nyist.net/JudgeOnline/problem.php?pid=626
intersection set
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- 两个集合,你只需要求出两个集合的相同元素,并输出个数。
- 输入
- m n
{a1 , a2 , a3 , a4 … ai … am}
{b1 , b2 , b3 , b4 … bi … bn}
1 <= n , m <= 50000 , 保证一个集合中不会输入重复数据
0 <= ai , bi <= 100000
多组测试数据 - 输出
- 一行一个数据,为两个集合中相同的元素个数
- 样例输入
-
8 8 1 5 6 9 10 12 16 59 5 6 9 8 15 17 65 98
- 样例输出
-
3
分析:
把两组数据直接存到一个数组里,sort排序去重即可。
AC代码:
1 2 #include <stdio.h> 3 #include <algorithm> 4 using namespace std; 5 int num[110010]; 6 int main() 7 { 8 int m,i,n,count; 9 while(~scanf("%d %d",&m,&n)) 10 { 11 count=0; 12 for(i=0;i<m+n;i++) 13 scanf("%d",&num[i]); 14 sort(num,num+m+n); 15 for(i=0;i<n+m-1;i++) 16 if(num[i]==num[i+1]) 17 count++; 18 printf("%d ",count); 19 } 20 return 0; 21 }