蒟蒻求助,T了
  • 板块P1160 队列安排
  • 楼主lyc呐
  • 当前回复1
  • 已保存回复1
  • 发布时间2020/8/13 12:13
  • 上次更新2023/11/6 20:27:01
查看原帖
蒟蒻求助,T了
242490
lyc呐楼主2020/8/13 12:13
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	list <int> L;
	list <int>::iterator it;
	L.push_back(1);
	for(int i=2;i<=n;i++)
	{
		int x,y;
		bool flag=false;
		scanf("%d%d",&x,&y);
		for(it=L.begin();it!=L.end();it++)		//定位待插入位置 
			if(*it==x)
				break;
		if(y==0)				
		{
			if(it==L.begin())
				flag=true;
			else
				it--;			
		}
		else
			it++;
		if(flag)				//插入操作 
			L.push_front(i);
		else if(it==L.end())
			L.push_back(i);
		else
			L.insert(it,i);
	}
	int m;
	scanf("%d",&m);
	while(m--)
	{
		int x;
		bool flag=false;
		scanf("%d",&x);
		for(it=L.begin();it!=L.end();it++)	//删除操作 
			if(*it==x)
			{
				flag=true;
				break;				
			}
		if(flag)
			L.erase(it);
	}
	it=L.begin();			//输出 
	printf("%d",*it);
	for(++it;it!=L.end();it++)
		printf(" %d",*it);
	printf("\n");
}
2020/8/13 12:13
加载中...