O2 全部RE???
查看原帖
O2 全部RE???
1009627
czxuyang楼主2024/11/8 20:53
#include<bits/stdc++.h>
using namespace std;
int n,maxx=1;
struct node{
	int dep;
	int l;
	int r;
	int fa;
	int ans;
}d[300005];
int tree(int x){
	if(d[x].l!=0) tree(d[x].l);
	if(d[x].r!=0) tree(d[x].r);
	cout<<d[x].ans<<'\n';
}
int main(){
	d[1].dep=1;
	cin>>n;
	cin>>d[1].ans;
	for(int i=2;i<=n;i++){
		int j=1;
		cin>>d[i].ans;
		while(1){
			if(d[i].ans<=d[j].ans){
				if(d[j].l==0){//左子结点为空 
					d[i].fa=j; 
					d[j].l=i;
					d[i].dep=d[j].dep+1;
					break;
				}
				else j=d[j].l;
			}
			else{
				if(d[j].r==0){
					d[j].r=i;
					d[i].fa=j;
					d[i].dep=d[j].dep+1;
					break;
				}
				else j=d[j].r;
			}
		}
		maxx=max(d[i].dep,maxx);	
	} 
	cout<<"deep="<<maxx<<'\n';
	tree(1);
	return 0;
}

2024/11/8 20:53
加载中...