求助大佬:代码在输入样例后出现了死循环,蒟蒻也没看出问题在哪里。。
查看原帖
求助大佬:代码在输入样例后出现了死循环,蒟蒻也没看出问题在哪里。。
176006
若榆若木楼主2024/9/26 10:18
#include<bits/stdc++.h>
using namespace std;
struct node{
	int l,r;
	int judge;
}que[500000];
int main()
{
	int n;
	scanf("%d",&n);
	que[1].l=0;
	que[1].r=2;
	que[1].judge=1;
	for(int i=2;i<=n;i++){
		que[i].judge=1;
		int k,p;
		scanf("%d%d",&k,&p);
		if(!p){
			//i-1左 
			//1 2 4 3
			que[i].r=k;
			que[i].l=que[k].l;
			que[que[k].l].r=i;
			que[k].l=i;
			
		} 
		else{
			que[i].l=k;
			que[i].r=que[k].r;
			que[que[k].r].l=i;
			que[k].r=i;
		}
	}
	int m;
	scanf("%d",&m);
	for(int i=1;i<=m;i++){
		int x;
		scanf("%d",&x);
		que[x].judge=0;
	}
	for(int i=que[1].r;i;i=que[i].r){
		if(que[i].judge)printf("%d ",i);
	}
	return 0;
}
2024/9/26 10:18
加载中...