蒟蒻40分求助,悬赏各位dalao关注!
  • 板块P1160 队列安排
  • 楼主crzcqh
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/18 10:46
  • 上次更新2023/11/3 09:11:10
查看原帖
蒟蒻40分求助,悬赏各位dalao关注!
769006
crzcqh楼主2023/7/18 10:46
#include<bits/stdc++.h>
using namespace std;
int n,m,k,p,first=1;
struct node{
	int ne,pre;
}a[100010];
void in(int x,int k,int p){
	if(p){
		int u=a[k].ne;
		a[k].ne=x;
		a[x].pre=k;
		a[x].ne=u;
		a[u].pre=x;
	}else{
		int u=a[k].pre;
		a[k].pre=x;
		a[x].ne=k;
		a[x].pre=u;
		a[u].ne=x;
		if(k==first) first=x;
	}
}
void er(int x){
	a[a[x].pre].ne=a[x].ne;
	a[a[x].ne].pre=a[x].pre;
	if(x==first) first=a[x].ne;
}
void print(int x){
	if(!x) return;
	cout<<x<<' ';
	print(a[x].ne);
}
int main(){
	cin>>n;
	for(int i=2;i<=n;i++){
		cin>>k>>p;
		in(i,k,p);
	}
	cin>>m;
	for(int i=1;i<=m;i++){
		cin>>k;
		er(k);
	}
	
	print(first);
	return 0;
}

first表示第 11 个元素

2023/7/18 10:46
加载中...