整个机房里就我代码最鬼搐。。。。。。实在不会改了
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,k,g,m,x,r=1;
struct lb{
int id,l,r;
}a[N];
int main(){
cin>>n;
a[1].id=1;
a[1].l=0;a[1].l=0;
for (int i=2;i<=n;i++){
cin>>k>>g;
a[i].id=i;
if (g==0){
a[a[k].l].r=i;
a[i].l=a[k].l;
a[k].l=i;
a[i].r=k;
}
else{
a[a[k].r].l=i;
a[i].r=a[k].r;
a[k].r=i;
a[i].l=k;
}
}
cin>>m;
for (int i=1;i<=m;i++){
cin>>x;
a[a[x].r].l=a[x].l;
a[a[x].l].r=a[x].r;
a[x].r=0;
a[x].l=0;
}
for (int i=1;i;i=a[i].l){
if (a[i].l==0){
r=i;
break;
}
}
while (a[r].r!=0){
cout<<a[r].id<<' ';
r=a[r].r;
}
cout<<a[r].id<<' ';
return 0;
}