#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[100][100];
void dfs(int r,int c)
{
printf("%c(",a[r][c]);
if(a[r+1][c]=='|')
{
int i=c;
while(i>0)
{
if(a[r+2][i-1]=='-') i--;
else break;
}
while(a[r+2][i]=='-'&&a[r+3][i]!='\0')
{
if(a[r+3][i]!=' ') dfs(r+3,i);
i++;
}
}
printf(")");
}
int main()
{
int t;
while(scanf("%d",&t))
{
while(t--)
{
int n=0;
for(;;)
{
gets(a[n]);
if(a[n][0]=='#')
break;
n++;
}
for(int i=1;i<strlen(a[1]);i++)
{
if(a[1][i]=='#') break;
if(a[1][i]!=' ')
{
printf("(");
dfs(1,i);
break;}
}
printf("\n");
}
}
}
第一个输出没问题,
第二个就不可以了,不知道为什么,估计是fget的问题。不懂