http://codeforces.com/contest/870/problem/A
题意:就是如果两个集合中有共同元素的话,就输出共同元素,如果没有共同元素的话就输出两个集合中的可以组成的最小的数。
思路:桶排水题。比较坑的是,两个有共同元素的时候输出共同元素。当时因为这个原因worng了两发,心态巨崩,然后代码写的也很丑 了,,
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <stack>
#include <iostream>
using namespace std;
int main()
{
int a[10],b[10];
int n , m , t;
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i = 0 ; i < n; i++)
{
scanf("%d",&t);
a[t]++;
}
for(int i = 0 ; i < m; i ++)
{
scanf("%d",&t);
b[t]++;
}
for(int i = 0 ; i < 10 ;i++)
{
if(a[i]&&b[i])
{
printf("%d",i);
return 0;
}
}
int o = 0,p = 0;
for(int i = 0 ; i < 10 ; i++)
{
if(a[i])
{
o = i;
break;
}
}
for(int i = 0 ; i < 10 ; i++)
{
if(b[i])
{
p = i ;
break;
}
}
if(o>p)
{
printf("%d%d",p,o);
}
else
{
printf("%d%d",o,p);
}
puts("");
}