我在电脑上调试了并且运行结果正确,为什么提交的时候一分没有??
#include<bits/stdc++.h>
using namespace std;
struct list{
int l,r;
}a[100005];
int n,k,L;
bool p;
int main()
{
cin>>n;
for(int i=2;i<=n;i++)
{
cin>>k>>p;
if(!p){a[i].r=k,a[i].l=a[k].l,a[a[k].l].r=a[k].l=i;if(!a[i].l)L=i;}
else a[i].l=k,a[i].r=a[k].r,a[a[k].r].l=a[k].r=i;
}
cin>>n;
while(n--)
{
cin>>k;
if(k==L)L=a[k].r;
a[a[k].l].r=a[k].r;
a[a[k].r].l=a[k].l;
}
while(L)cout<<L<<' ',L=a[L].r;
return 0;
}
Test #1:
Input:
10
1 0
1 1
1 1
1 1
4 1
2 1
2 0
7 1
7 1
5
6
3
4
7
6
Output:
8 2 10 9 1 5
感谢!!