40pts 求优化
查看原帖
40pts 求优化
1056023
_czx6666_楼主2025/1/14 12:24
#include<bits/stdc++.h>
using namespace std;
list<int> l;
int n,k,p,m;
int main(){
	cin>>n;
	l.push_back(1);
	for(int i=2;i<=n;i++){
		cin>>k>>p;
		if(p==0){
			auto it=l.begin();
			while(it!=l.end()){
				if(*it==k)break;
				it++;
			}
			l.insert(it,i);
		}else{
			auto it=l.begin();
			while(it!=l.end()){
				if(*it==k)break;
				it++;
			}
			it++;
			l.insert(it,i);
		}
	}
	cin>>m;
	for(int i=1;i<=m;i++){
		cin>>k;
		auto it=l.begin();
		while(it!=l.end()&&*it!=k){
			it++;
		}
		if(it!=l.end())l.erase(it);
	}
	auto it=l.begin();
	while(it!=l.end()){
		cout<<*it<<" ";
		it++;
	}	
	return 0;
} 
2025/1/14 12:24
加载中...