蒟蒻手打双向链表40分中间3点WA求调(别直接给代码
查看原帖
蒟蒻手打双向链表40分中间3点WA求调(别直接给代码
684245
zhangyaiwei楼主2023/5/27 09:21
#include<bits/stdc++.h>
using namespace std;
struct List{
	int s,t;
}lists[111111]; 
int n,m,k,p,d;
int main(){
	lists[0]={-2,1};
	lists[1]={0,-1};
	cin>>n;
	for(int i=2;i<=n;i++){
		cin>>k>>p;
		if(p==0){
			int l=lists[k].s;
			lists[k].s=i;
			lists[l].t=i;
			lists[i].s=l;
			lists[i].t=k;
		}
		else{
			int r=lists[k].t;
			lists[k].t=i;
			lists[r].s=i;
			lists[i].t=r;
			lists[i].s=k;
		}
	}
	cin>>m;
	while(m--){
		cin>>d;
		lists[lists[d].s].t=lists[d].t;
		lists[lists[d].t].s=lists[d].s;
	}
	int now=0;
	while(lists[now].t!=-1){
		cout<<lists[now].t<<" ";
		now=lists[now].t;
	}
}
2023/5/27 09:21
加载中...