有大佬能帮忙看一下吗,应该是删除那部分有问题,但不知道为什么
查看原帖
有大佬能帮忙看一下吗,应该是删除那部分有问题,但不知道为什么
700100
river_dd楼主2022/4/5 21:18
#include<bits/stdc++.h>
using namespace std;

int front[100007],back[100007];

int main() {
	int n,m,k,p,x;
	cin>>n;
	back[0]=1;
	front[1]=0;
	for(int i=2;i<=n;i++){
		cin>>k>>p;
		if(p==0){
			back[front[k]]=i;
			front[i]=front[k];
			back[i]=k;
			front[k]=i;
		}else{
			front[back[k]]=i;
			back[i]=back[k];
			front[i]=k;
			back[k]=i;
		}
	}
	cin>>m;
	for(int i=0;i<m;i++){
		cin>>x;//删除
		back[front[x]]=back[x];
		front[back[x]]=front[x];
	}
	for(int i=back[0];;i=back[i]){
		if(i!=0){
			cout<<i<<" ";
		}
		if(back[i]==0){
			break;
		}
	}
	return 0;
}
2022/4/5 21:18
加载中...