题目连接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1503
是树,递归即可
学习一下fgets的用法http://blog.csdn.net/daiyutage/article/details/8540932
1 #include<cstdio> 2 #include<cstring> 3 #include<cctype> 4 using namespace std; 5 6 const int maxn=210; 7 int n; 8 char s[maxn][maxn]; 9 //递归遍历并且输出以字符串s[r][c]为根的树 10 void dfs(int r,int c) 11 { 12 printf("%c(",s[r][c]); 13 if(r+1<n&&s[r+1][c]=='|') //有子树 14 { 15 int i=c; 16 while(i-1>=0&&s[r+2][i-1]=='-') i--; //找"---"的左边界 17 while(s[r+2][i]=='-'&&s[r+3][i]!='