如题
评测记录:co↑co↓
源代码:
#include<bits/stdc++.h>
using namespace std;
vector<int> q;
inline int read(){
int x=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*w;
}
int n,k,p,m,x;
int main(){
n=read();
q.push_back(1);
for(int i=2;i<=n;++i){
k=read(),p=read();
auto it=find(q.begin(),q.end(),k);
switch(p){
case 0:q.insert(it,i);break;
case 1:q.insert(++it,i);break;
}
}
m=read();
while(m--){
x=read();
auto it=find(q.begin(),q.end(),x);
if(it!=q.end())q.erase(it);
}
for(int i=0;i<q.size();++i){
printf("%d",q[i]);
if(i!=q.size()-1)printf(" ");else printf("\n");
}
}