真·玄学问题
查看原帖
真·玄学问题
401479
LuckiestShawn楼主2022/1/17 20:15
#include <list>
#include <algorithm>
#include <stdio.h>
#include <iostream>
using namespace std;
list <long long> head;
list <long long> ::iterator tt[999999];
list<long long>::iterator it;
long long n,i,k,p,del;
inline void printList()
{
	for(it=head.begin();it!=head.end();it++)
		cout<<*it<<" ";
	cout<<endl;
}
int main()
{
	scanf("%lld",&n);
	head.push_back(1);
	tt[1]=head.begin();
	for(i=2;i<=n;i++)
	{
		scanf("%lld%lld",&k,&p);
		list <long long>::iterator t=tt[k];
		if(t!=head.end())
		{
			if(p){
				tt[i]=head.insert(++t,i);
			}
			else{
				tt[i]=head.insert(t,i);
			}
		}
	}
	scanf("%lld",&del);
	for(long long i=1,delwho;i<=del;i++)
	{
		scanf("%lld",&delwho);
		list <long long>::iterator a = tt[delwho];
		if(a != head.end())
		{
			head.erase(a);
			tt[k] = head.end();
		}
	}
	printList();
	return 0;
}

卡死了,救救孩子吧!

2022/1/17 20:15
加载中...