题解 CF870A 【Search for Pretty Integers】
引领天下
2018-02-19 14:28:47
来一发不一样的思路
你们都排序,可是我
# 不排序!
## 其实,对于这种判断一个数字有没有在两个数组里出现的题目用桶最方便
具体做法:
先读入两个数组,在桶中标记;
然后从1扫到9,有同时出现的就输出
不然找最小的
上巨短代码
```cpp
#include <cstdio>
int a[10],b[10],n,m,x,y;
int main(void){
scanf ("%d%d",&n,&m);
for (int i=0;i<n;i++)scanf ("%d",&x),a[x]=1;
for (int i=0;i<m;i++)scanf ("%d",&x),b[x]=1;
for (int i=1;i<10;i++)if (a[i]&&b[i])return !printf ("%d",i);
for (int i=1;i<10;i++)if (a[i]){x=i;break;}
for (int i=1;i<10;i++)if (b[i]){y=i;break;}
if (x<y)printf ("%d",x*10+y);
else printf ("%d",y*10+x);
}
```