数据点2wa,其它全re,在线ide样例是过了的
查看原帖
数据点2wa,其它全re,在线ide样例是过了的
1189340
aishiteru_mitsu_ha楼主2024/4/11 18:01
#include<bits/stdc++.h>
using namespace std;
struct node{
    int date=0,l=0,r=0;
}bt[1000010];
int n,r,deep=1;
void build(int x,int r);
void hx(int x);
void dfs(int x,int d);
int main(){
    cin>>n;
    cin>>r;
    bt[r].date=r;
    for(int i=2;i<=n;i++){
        int num;
        cin>>num;
        build(num,r);
    }
    dfs(r,1);
    cout<<"deep:"<<deep<<endl;
    hx(r);
    return 0;
}
void build(int x,int r){
    if(x<=bt[r].date){
        if(bt[r].l){
            build(x,bt[r].l);
        }else{
           bt[r].l=x;
            bt[bt[r].l].date=x;
        }
    }else{
        if(bt[r].r){
            build(x,bt[r].r);
        }else{
            bt[r].r=x;
            bt[bt[r].r].date=x;
        }
    }
}
void hx(int x){
    if(bt[x].date){
        hx(bt[x].l);
        hx(bt[x].r);
        cout<<x<<endl;
    }
}
void dfs(int x,int d){
    if(bt[x].date){
        dfs(bt[x].l,d+1);
        dfs(bt[x].r,d+1);
        deep=max(deep,d);
    }
}
2024/4/11 18:01
加载中...