急!!求助 后三个测试点runtime error
查看原帖
急!!求助 后三个测试点runtime error
654979
wwyxhqct楼主2023/3/26 10:36

急!!求助

c++后三个测试点runtime error

怎么办 好人一生平安!!

#include<iostream>
using namespace std;
struct node{
	int l, r;
}a[10005];
void lf(int i, int k){
	int p = a[k].l;
	a[k].l = i;
	a[i].r = k;
	a[p].r = i;
	a[i].l = p;
} 
void rf(int i, int k){
	int p = a[k].r;
	a[k].r = i;
	a[i].l = k;
	a[p].l = i;
	a[i].r = p;
}
void de(int x){
	int p = a[x].l, q = a[x].r;
	if(p == -1 && q == -1) return;
	a[x].l = -1;
	a[x].r = -1;
	a[p].r = q;
	if(q != -1) a[q].l = p;
} 
int main(){
	int n, k, op, m, x;
	cin>>n;
	a[0].l = -1;
	a[0].r = 1;
	a[1].l = 0;
	a[1].r = -1;
	for(int i = 2; i <= n; i++){
		cin>>k>>op;
		if(op == 0) lf(i, k);
		else rf(i, k);
	}
	cin>>m;
	for(int i = 1; i <= m; i++){
		cin>>x;
		de(x);
	}
	int c = 0;
	while(1){
		if(a[c].r == -1) break;
		c = a[c].r;
		cout<<c<<" ";
	}
	return 0;
}

2023/3/26 10:36
加载中...