AC必关
#include<iostream>
#include<list>
using namespace std;
list<int> l1;
int x,y,m=1,n,a,b,c,d=1,k,o[10001];
bool e=true;
int main(){
cin>>n;
l1.push_back(1);
for(int i=2;i<=n;i++){
cin>>x>>y;
l1.push_back(i);
if(y==0){
list<int>::iterator it,j;
j=l1.begin();
while(d<i)d++,j++;
for(it=l1.begin();it!=l1.end();it++)
if(*it==x){
l1.insert(it,*j);
l1.erase(j);}
}
if(y==1){
list<int>::iterator it,j;
j=l1.begin();
while(d<i)d++,j++;
for(it=l1.begin();it!=l1.end();it++)
if(*it==++x){
l1.insert(it,*j);
l1.erase(j);}
}
d=1;m=1;
}
cin>>b;
for(int i=1;i<=b;i++){
cin>>a;
o[i]=a;
for(int j=1;j<=i;j++)
if(a==o[j])e=false;
if(e==true)l1.remove(a);
else e=true;
}
for(list<int>::iterator it=l1.begin();it!=l1.end();it++)
cout<<*it<<" ";
}