#大佬求救,125WA,34TLE。
查看原帖
#大佬求救,125WA,34TLE。
539312
封禁用户楼主2021/7/19 20:58
#include<bits/stdc++.h>
using namespace std;
int x[100000][2],y[100000];
vector<int> a;
int main() {
	int i,n,j,m;
	cin>>n;
	a.insert(a.begin(),1);
	for(i=0; i<n-1; i++)
		cin>>x[i][0]>>x[i][1];
	cin>>m;
	for(i=0; i<m; i++)
		cin>>y[i];
	for(i=2; i<=n; i++) {
		if(x[i-2][1]==0)
			a.insert(a.begin()+x[i-2][0],i);
		else
			a.insert(a.begin()+x[i-2][0]-1,i);
	}
	for(i=0; i<m; i++) {
		for(j=0; j<a.size(); j++) {
			if(y[i]==a[j]) {
				a.erase(a.begin()+j);
				break;
			}
		}
	}
	for(i=a.size()-1; i>=0; i--) {
		if(i!=0)
			cout<<a[i]<<' ';
		else
			cout<<a[i]<<endl;
	}
	return 0;
}
2021/7/19 20:58
加载中...