995
查看原帖
995
1526478
Ehtanwang0426楼主2025/6/28 12:12
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
vector<int> ll(N);
 vector<int> rr(N);
int main() {
	int n,k;
	bool p;
	cin>>n;
	for(int i=2;i<=n;i++) {
		cin>>k>>p;
		if(p) {
			ll[k] = i; rr[k] = rr[i]; 
			ll[rr[i]] = k; rr[i] = k;
		}else {
			rr[k] = i; ll[k] = ll[i]; 
			rr[ll[i]] = k; ll[i] = k;
		}
	}
	int m;
	cin>>m;
	while(m){
		int i;
		cin>>i;
		rr[ll[i]] = rr[i]; ll[rr[i]] = ll[i];
		m--;
	}
	for(int i=100000;i>=1;i--) {
		if(rr[i]){
			cout<<rr[i]<<" ";
		}
	}
	for(int i=1;i<=100000;i++) {
		if(ll[i]){
			cout<<ll[i]<<" ";
		}
	}
	return 0;
}

帮忙看看吧! 互关

2025/6/28 12:12
加载中...