社区讨论
wa三个,求助
题目总版参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo1gf5t1
- 此快照首次捕获于
- 2023/10/22 20:37 2 年前
- 此快照最后确认于
- 2023/11/02 21:02 2 年前
using namespace std;
const int N=1e5+10;
int to[N],last[N];
void addl(int x,int y){
to[last[y]]=x;
last[x]=last[y];
to[x]=y;
last[y]=x;
}
void addr(int x,int y){
last[to[y]]=x;
to[x]=to[y];
to[y]=x;
last[x]=y;
}
void del(int x){
to[last[x]]=to[x];
last[to[x]]=last[x];
to[x]=0;
last[x]=0x3f3f3f3f;
}
int main(){
int n;
cin>>n;
for(int i=2;i<=n;i++){
int x,y;
scanf("%d%d",&x,&y);
if(y==0) addl(i,x);
else{
addr(i,x);
}
}
int m;
cin>>m;
for(int i=1;i<=m;i++){
int x;
cin>>x;
if(last[x]!=0x3f3f3f3f) del(x);
}
int headtail;
for(int i=1;i<=m;i++){
if(last[i]==0){
headtail=i;
break;
}
}
while(headtail!=0){
cout<<headtail<<" ";
headtail=to[headtail];
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...