【题目描述】
<=> ABD..EF..G..C..
【题目链接】
http://ybt.ssoier.cn:8088/problem_show.php?pid=1340
【代码】
1 #include <bits/stdc++.h> 2 using namespace std; 3 int a=1; 4 int lc[110],rc[110]; 5 char puz[110]; 6 char parse(int& i) 7 { 8 int cur=i; 9 if(puz[cur]!='.') { 10 i++; 11 lc[cur]=parse(i); 12 // cout<<puz[cur]<<" lc= "<<puz[lc[cur]]<<endl; 13 i++; 14 rc[cur]=parse(i); 15 // cout<<puz[cur]<<" rc= "<<puz[rc[cur]]<<endl; 16 } 17 return cur; 18 } 19 void mid(int i) 20 { 21 if(puz[i]=='.') return; 22 mid(lc[i]); 23 printf("%c",puz[i]); 24 mid(rc[i]); 25 } 26 void post(int i) 27 { 28 if(puz[i]=='.') return; 29 post(lc[i]); 30 post(rc[i]); 31 printf("%c",puz[i]); 32 } 33 int main() 34 { 35 gets(puz+1); 36 parse(a); 37 mid(1); 38 puts(""); 39 post(1); 40 return 0; 41 }