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\n",count);
19     }
20     return 0;
21 }
View Code

 
                    
            
                

相关文章: