#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;
}
帮忙看看吧!
互关