题解 CF870A 【Search for Pretty Integers】

引领天下

2018-02-19 14:28:47

Solution

来一发不一样的思路 你们都排序,可是我 # 不排序! ## 其实,对于这种判断一个数字有没有在两个数组里出现的题目用桶最方便 具体做法: 先读入两个数组,在桶中标记; 然后从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); } ```