样例过了, WA TLE WA TLE TLE qwq 代码在这,大神看看吧!
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+100;
int x,k,n,p,m;
int e[N],en[N],head,rear,idx;
void init() { // 定义
head=0;
idx=1;
en[head]=-1;
return;
}
void add(int k,int x) { //插入
e[idx]=x;
en[idx]=en[k];
en[k]=idx;
idx++;
return;
}
void remove(int k) {
en[k]=en[en[k]];
return;
}
int chazhao(int num) {
for(int i=0; i<=n; i++)
if(e[en[i]]==num)return i;
return -1;
}
int chazhaoo(int num) {
for(int i=0; i<=n; i++)
if(e[en[i]]==num)return i;
}
int main() {
cin>>n;
init();
add(head,1);
for(int i=2; i<=4; i++) {
cin>>k>>p;
if(p==1)add(k,i);
else add(chazhaoo(k),i);
}
cin>>m;
for(int i=1; i<=m; i++) {
cin>>x;
remove(chazhao(x));
}
int cnt=en[head];
while(cnt!=-1) {
cout<<e[cnt]<<' ';
cnt=en[cnt];
}
// for(int i=0;i<=n;i++)
// if(e[i]>0)cout<<e[i]<<" ";
// cerr<<endl;
// for(int i=0;i<=n;i++)
// if(e[i]>0)cerr<<en[i]<<" ";
return 0;
}
谢谢大家