哪位好汉帮我看看?
查看原帖
哪位好汉帮我看看?
1395212
u53_rdv楼主2025/7/18 19:38
#include<iostream>
int x[100010][3],n,m;
int main(){


    scanf("%d",&n);
    int j=1;
    memset(a,0,sizeof(a));
    a[1][1]=1;
    for(int i=2;i<=n;i++){
        int x,y;
        scanf("%d %d",&x,&y);
        a[i][1]=i;
        if(y==0){
            a[a[x][3]][2]=i; a[i][2]=x;
            a[i][3]=a[x][3]; a[x][3]=i;
            if(x==j){
                j=i;
            }
        }else{
            a[i][2]=a[x][2]; a[a[x][2]][3]=i;
            a[x][2]=i; a[i][3]=x;
        }
    }
    scanf("%d",&m);
    for(int i=1;i<=m;i++){
        int x; scanf("%d",&x);
        if(a[x][1]!=0){
            a[x][1]=0;
            a[a[x][3]][2]=a[x][2];
            a[a[x][2]][3]=a[x][3];
            n--;
            if(x==j) j=a[x][3];
        }
    }
    int i=1,x=j;
    while(i<=n){
        printf("%d",a[x][1]);
        x=a[x][2];
        i++;
    }
    return 0;
}

2025/7/18 19:38
加载中...