nyoj 题目839 合并
来源:互联网 发布:nginx 域名指定请求 编辑:程序博客网 时间:2024/06/07 01:54
http://acm.nyist.net/JudgeOnline/problem.php?pid=839
合并
时间限制:3000 ms | 内存限制:65535 KB
难度:0
- 描述
现在给你两堆数,每个堆中有n个数。你的任务是把这两个堆并成一个堆,并把合并后的堆中的元素按从小到大的顺序输出。例如当n=5时,第一个堆是{1,2,3,4,5},第二个堆是{5,6,7,8,9},那么你就应该输出1 2 3 4 5 6 7 8 9。(一堆中可能有重复的数)
- 输入
- 第一行输入一个整数T(1≤T≤100),表示有T组测试数据。
每组数据先输入一个整数N(1≤N≤10),表示每个堆中元素的个数。然后输入N个整数A(0≤A<100),最后输入N个整数B(0≤B<100)。 - 输出
- 把合并后的堆中的元素按从小到大的顺序输出。
- 样例输入
251 2 3 4 55 6 7 8 9618 88 43 5 10 78 94 99 37 92 3 52
- 样例输出
1 2 3 4 5 6 7 8 9 3 5 10 18 37 43 52 78 88 92 94 99
#include<stdio.h>#include<string.h>#include<stdlib.h>int cmp(const void *a,const void *b){return *(int *)a-*(int *)b;}int main(){int T,N,i,j,k,a[20],b[20],c[100];scanf("%d",&T);while(T--){memset(a,0,sizeof(a));memset(b,0,sizeof(b));scanf("%d",&N);for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N;i++)scanf("%d",&b[i]);for(j=0,i=0;i<N;i++)//把a[]中的数存入c[]中,然后把a[],b[]中与c[]相同的都赋-1 {if(a[i]!=-1)c[j]=a[i];else continue;for(k=0;k<N;k++){if(a[k]==c[j])a[k]=-1;if(b[k]==c[j])b[k]=-1;}j+=1;}for(i=0;i<N;i++)//把b[]中的数存入c[]中,然后把c[]中与b[]中相同的值赋-1 {if(b[i]!=-1)c[j]=b[i];else continue;for(k=0;k<N;k++){if(b[k]==c[j])b[k]=-1;}j+=1;}qsort(c,j,sizeof(c[0]),cmp);for(i=0;i<j;i++){printf("%d",c[i]);if(i!=j-1)printf(" ");}printf("\n");}return 0;}
0 0
- nyoj 题目839 合并
- nyoj-839-合并
- NYOJ 839 合并
- NYOJ 839 合并(vector)
- NYOJ 839 合并
- NYOJ 839 合并
- NYOJ题目737石子合并(一)(区间dp)
- NYOJ 题目10 skiing
- NYOJ 题目854 留恋
- NYOJ 题目94 cigarettes
- NYOJ 题目289 苹果
- NYOJ 题目221 Tree
- nyoj题目34:韩信点兵
- nyoj题目813:对决
- nyoj题目822:画图
- nyoj题目463:九九乘法表
- NYOJ 题目915+-字符串
- nyoj题目611:练练
- Task Flow使用指南之七:SavePoints(2)
- Task Flow使用指南之七:SavePoints(3)
- 深度卷积神经网络CNNs的多GPU并行框架及其应用
- 底层因为接受到操作系统信号而停止
- JQuery中操作Css样式的方法
- nyoj 题目839 合并
- Task Flow使用指南之八:Transaction(1)
- HDU 2203 亲和串
- 利用远程线程实现dll的注入
- map基础操作
- Task Flow使用指南之八:Transaction(2)
- android audio
- io流
- Android Fragment应用实战,使用碎片向ActivityGroup说再见(转)