洛谷 P1305 新二叉树 Label:字符串的输出总是有惊喜

时间:2023-03-08 23:47:36
洛谷 P1305 新二叉树 Label:字符串的输出总是有惊喜

题目描述

输入一串完全二叉树,用遍历前序打出。

输入输出格式

输入格式:

第一行为二叉树的节点数n。

后面n行,每一个字母为节点,后两个字母分别为其左右儿子。

空节点用*表示

输出格式:

前序排列的完全二叉树

输入输出样例

输入样例#1:
6
abc
bdi
cj*
d**
i**
j**
输出样例#1:
abdicj

代码

 #include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
struct cc{int l,r;}node[];
int root,N;
int fa,l,r;
char str[]; void print(int x){
printf("%c",char(x+'a'));
if(node[x].l!=-) print(node[x].l);
if(node[x].r!=-) print(node[x].r);
} int main(){
// freopen("01.in","r",stdin);
scanf("%d",&N); for(int i=;i<=;i++) node[i].l=node[i].r=-;
for(int i=;i<=N;i++){
scanf("%s",str+);
fa=int(str[]-'a');
if(str[]!='*') node[fa].l=int(str[]-'a');
if(str[]!='*') node[fa].r=int(str[]-'a'); if(i==)root=fa;
}
print(root);
return ;
}

er......