皮卡丘的编号是?

皮卡丘的编号是?

精灵宝可梦有成百上千种,皮卡丘只是其中之一哦。这么多种宝可梦当然需要用编号来记录下来,皮卡丘的编号就是25号。宝可梦图鉴是一种能记录遇到的宝可梦的神奇工具,可是它还没有完全开发完成。现在请你帮忙写一个程序,完善图鉴的记录功能。
记录功能需要完成这样的要求:如果遇到的宝可梦在图鉴中没有记录,则将该宝可梦的编号加入到图鉴中;如果遇到的宝可梦已经在图鉴中记录,则不处理。
例如:图鉴中只记录了25和26号宝可梦,又遇到了27号宝可梦,那图鉴中将会记录25、 26 、27 号宝可梦;如果在此基础上再次遇到27号宝可梦,则图鉴中还是只有25 、26 、27号宝可梦的记录。
Input

输入数据有多组,到EOF结束。
每组数据,先输入2个整数n,m(1<=n<=807,1<=m<=20),n代表图鉴中已经记录的宝可梦种类数,m代表接下来遇到的宝可梦数量。接下来输入n个整数Ai(1<=Ai<=807),保证Ai是按升序排序的。最后输入m个整数Bi(1<=Bi<=807),代表遇到的宝可梦的编号。
Output

对于每组数据,输出最后图鉴中记录的宝可梦种类数,并将图鉴按照升序打印,编号之间用空格隔开。
Sample Input

7 3
151 251 386 493 649 721 807
151 386 807
2 5
25 26
27 24 22 23 25
5 5
1 4 7 25 133
52 52 52 52 52
Sample Output

7
151 251 386 493 649 721 807
6
22 23 24 25 26 27
6
1 4 7 25 52 133

#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{int i,n,m,a[1010],t,j;while(~scanf("%d%d",&n,&m)){for(i=0;i<n;i++)scanf("%d",&a[i]);while(m--){int p=1;scanf("%d",&t);for(i=0;i<n;i++){if(a[i]==t){p=0;break;}}if(p==1)a[n++]=t;}printf("%d\n",n);for(i=0;i<n;i++){for(j=0;j<n-1-i;j++){if(a[j]>a[j+1]){int g=a[j];a[j]=a[j+1];a[j+1]=g;}}}for(i=0;i<n;i++)printf("%d%c",a[i],i==n-1?'\n':' ');}return 0;
}

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690938623a468381.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信