1379.合并队伍
时间限制: 1000 MS 内存限制: 65536 K
提交数: 996 (0 users) 通过数: 294 (280 users)
问题描述
小华虽然在数学上不及小明,编程上肯定不及小强。但是在体育方面却是无人能及的。小华可是在千军万马中千辛万苦地杀出一条血路,终于选上了一门体育课!第一次体育课,小华向老师毛遂自荐当体育委员,当然老师也爽快的答应了!在整理队伍的时候,小明发现女生站两排有点短了,于是想把两排女生合为一排。在合并之前,每一排女生都是从左至右按身高从高到低的顺序排好的。为了保持这个顺序,小华要怎么指导女生,才能保证在合并之后,女生仍然是按照从左至右按身高从高到低的顺序排列的?
输入格式
第一行输入两个正整数m,n,m为第一排女生的人数,n为第二排女生人数。0<m,n<10000
第二行输入m个正整数ai,从高到低排列,代表m个女生的身高
第三行输入n个正整数bi,从高到低排列,代表n个女生的身高
输出格式
输出合并后的身高,从高到低排列
样例输入
5 6
165 163 159 155 150
169 164 160 158 155 151
样例输出
169 165 164 163 160 159 158 155 155 151 150
来源
时间限制: 1000 MS 内存限制: 65536 K
提交数: 996 (0 users) 通过数: 294 (280 users)
问题描述
小华虽然在数学上不及小明,编程上肯定不及小强。但是在体育方面却是无人能及的。小华可是在千军万马中千辛万苦地杀出一条血路,终于选上了一门体育课!第一次体育课,小华向老师毛遂自荐当体育委员,当然老师也爽快的答应了!在整理队伍的时候,小明发现女生站两排有点短了,于是想把两排女生合为一排。在合并之前,每一排女生都是从左至右按身高从高到低的顺序排好的。为了保持这个顺序,小华要怎么指导女生,才能保证在合并之后,女生仍然是按照从左至右按身高从高到低的顺序排列的?
输入格式
第一行输入两个正整数m,n,m为第一排女生的人数,n为第二排女生人数。0<m,n<10000
第二行输入m个正整数ai,从高到低排列,代表m个女生的身高
第三行输入n个正整数bi,从高到低排列,代表n个女生的身高
输出格式
输出合并后的身高,从高到低排列
样例输入
5 6
165 163 159 155 150
169 164 160 158 155 151
样例输出
169 165 164 163 160 159 158 155 155 151 150
来源
xmu
#include <stdio.h>
int main()
{
int m, n;
int a[10005] = { 0 };
int b[10005] = { 0 };
int merge[20005] = { 0 };
int i, j, k;
scanf("%d %d", &m, &n);
for (i = 0; i < m; ++i)
scanf("%d", &a[i]);
for (i = 0; i < n; ++i)
scanf("%d", &b[i]);
for (i = 0, j = 0, k = 0; i < m && j < n; )
{
if (a[i] >= b[j])
{
merge[k] = a[i];
++i;
++k;
}
else
{
merge[k] = b[j];
++j;
++k;
}
}
for ( ; i < m; ++i, ++k)
merge[k] = a[i];
for ( ; j < n; ++j, ++k)
merge[k] = b[j];
for (i = 0; i < k; ++i)
printf("%d ", merge[i]);
printf("\n");
return 0;
}