34TLE问一下有没有优化方法用结构体数组双向链表
查看原帖
34TLE问一下有没有优化方法用结构体数组双向链表
786844
wang126179楼主2022/11/13 19:31
using namespace std;
struct list1{
    int val,l,r;   //双向链表
}a[100005];
int main(){
    a[0].r=1;
    a[1].l=0;
    a[1].r=-1;
    int n,x,y,z;
    cin>>n;
    for(int i=0;i<=n;i++){  //赋初值 加一个head a[0]
        a[i].val=i;
    }
    for(int i=2;i<=n;i++){  //插入
        cin>>x>>y;

        if(y==0){
            a[i].l=a[x].l;
            a[a[i].l].r=i;
            a[i].r=x;
            a[x].l=i;
        }
        if(y==1){
            a[i].l=x;
            a[i].r=a[x].r;
            a[a[i].r].l=i;
            a[x].r=i;
        }
    }
    cin>>n;
    for(int i=1;i<=n;i++){  //删除
        cin>>z;
        int p=0;
        while(a[p].r!=-1){
            if(a[p].r==z){
                a[p].r=a[z].r;
                break;
            }
            p=a[p].r;
        }
    }
    int p=0;
    while(a[p].r!=-1){  //遍历
        cout<<a[p].r<<" ";
        p=a[p].r;
    }

    return 0;
}
2022/11/13 19:31
加载中...