luogu_1305 新二叉树

#include<bits/stdc++.h> 
using namespace std;
struct node{char pa,data,lc,rc;}a[10001];
int vis[201],root=-1;
int xianxu(int i){
     printf("%c",i);
     if(a[i].lc!='*')xianxu(a[i].lc);
     if(a[i].rc!='*')xianxu(a[i].rc);
}
int main(){
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        char data;
        cin>>data;
        cin>>a[data].lc>>a[data].rc;
        a[a[data].lc].pa=data;
        a[a[data].rc].pa=data;
        vis[data]=1;
    }
    for(int i=1;i<=122;i++)if(a[i].lc!=0&&a[i].pa==0)root=i;
    xianxu(root);
    return 0;
}

posted @ 2017-07-09 13:39  wqtnb_tql_qwq_%%%  阅读(174)  评论(0)    收藏  举报