奇怪的错误,求助
  • 板块学术版
  • 楼主I_Flipped
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/7/19 19:27
  • 上次更新2023/10/27 19:28:55
查看原帖
奇怪的错误,求助
497333
I_Flipped楼主2022/7/19 19:27

本地运行到第二个数据挂了,IDE也挂了,但是实在找不出错误

有人愿意帮助我吗?

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#include<queue>
#include<map>
#include<set>
//#define int long long
using namespace std;
typedef long long ll;
const int N=1e3+5,M=1e5+5,p=1e9+7,inf=0x3f;

int read(){
    char c=getchar();int f=1,x=0;
    while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
    while(isdigit(c)){x=x*10+c-48;c=getchar();}
    return x*f;
}

int t,n,qwq,a[N];
bool vis[N];
priority_queue<int ,vector<int> ,greater<int> > q;

signed main(){
	t=read();
	while(t--){
		n=read();
		if(n==1){puts("-1");continue;}
		for(int i=1;i<=n;++i)q.push(i);
		for(int i=1;i<=n;++i){
			a[i]=read();
		}
		for(int i=1;i<=n;++i){
			if(q.top()==a[i]){
				qwq=q.top(),q.pop();
				printf("%d ",q.top());
				q.pop(),q.push(qwq);
			}
			else printf("%d ",q.top()),q.pop();
		}
//		cout<<1<<endl;
		puts("");
		while(!q.empty())q.pop();
	}
	return 0;
}

输入数据

4
3
1 2 3
5
2 3 4 5 1
4
2 3 1 4
1
1

提前感谢大佬

2022/7/19 19:27
加载中...