T67165 合并有序数组 玄学AC求解
  • 板块题目总版
  • 楼主AyxC
  • 当前回复11
  • 已保存回复11
  • 发布时间2020/8/12 17:10
  • 上次更新2023/11/6 20:31:28
查看原帖
T67165 合并有序数组 玄学AC求解
267459
AyxC楼主2020/8/12 17:10

record:https://www.luogu.com.cn/record/36874372

src:

#include<bits/stdc++.h>
using namespace std;
int n[10001],m[100001],h[200002];
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	for(int i=1;i<=a;i++){
		scanf("%d",&n[i]);
	}
	for(int i=1;i<=b;i++){
		scanf("%d",&m[i]);
	}
	int i=1,j=1,k=1;
	while(i<=a && j<=b){
		if(n[i]>m[j]){
			h[k++]=m[j++];
			//printf("[Debug] n[%d]=%d>m[%d]=%d ++j=%d ++k=%d\n",i,n[i],j,m[j],j,k);
		}else{
			h[k++]=n[i++];
			//printf("[Debug] n[%d]=%d<m[%d]=%d ++i=%d ++k=%d\n",i,n[i],j,m[j],i,k);
		}
	}
	if(i<a){
		while(k<=a+b){
			h[k]=n[i];
			i++;
			k++;
		}
	}else if(j<b){
		while(k<=a+b){
			h[k]=m[j];
			j++;
			k++;
		}
	}
	for(int x=1;x<=a+b;x++){
		printf("%d ",h[x]);
	}
	return 0;
}

虽然是一道很简单的题?‍但是用样例输入进行测试输出为

1 2 3 4 5 6 0

而不是

1 2 3 4 5 6 9

求解?(丢上去本来做好了看见一片红的准备居然AC了??? 虽然不知道T开头的题是什么意思?

2020/8/12 17:10
加载中...