本题双向链表,40分,#345WA
查看原帖
本题双向链表,40分,#345WA
66097
tjhdyhj楼主2021/8/24 20:08
#include <iostream>
using namespace std;
struct aaa{
	int n;
	int l;
	int r;
};
int main ()
{
	aaa child[1000005];
	int N,M,a,b,i;
	child[1].l=0;
	child[1].r=2;
	child[1].n=1; 
	cin>>N;
	for (i=2;i<=N;i++)
	{
		cin>>a>>b;
		child[i].n=i;
		if (b==0)
		{
			child[i].r=a;
			child[i].l=child[a].l;
			child[child[i].l].r=i;
			child[a].l=i;
			
		}
		if (b==1)
		{
			child[i].l=a;
			child[i].r=child[a].r;
			child[child[i].r].l=i;
			child[a].r=i;
		}
	}
	cin>>M;
	for (i=1;i<=M;i++)
	{
		cin>>a;
		child[a].n=-1;
	}
	for (i=1;i<=N;i++)
	{
		if (child[i].l==0)
		{
			a=i;
			break;
		}
	}
	for (i=1;i<=N;i++)
	{
		if (child[a].n!=-1)
		{
			cout<<child[a].n<<" ";
		}
		a=child[a].r;
	}
	return 0;
}
2021/8/24 20:08
加载中...