UVA 10562 - Undraw the Trees
2013-02-07 14:08
267 查看
/* 将输入转化为树
*/
#include<cstdio>
#include<cstring>
#include<cstdlib>
char s[210],t[210][222];
int lc;
int dfs(int cur,int p)
{
if(cur==lc)
return 0;
printf("%c",t[cur][p]);
if(t[cur+1][p]!='|')
{
printf("()");
return 0;
}
printf("(");
int x=p,y=p;
while(t[cur+2][x]=='-')
x--;
x++;
while(t[cur+2][y]=='-')
y++;
y--;
//printf("%d %d %d...\n",x,y,p);
for(int i = x; i <= y; i++)
{
if(t[cur+3][i]!=' '&&t[cur+3][i]!=0&&cur+3<lc)
{
//printf("%c",t[cur+3][i]);
//if(t[cur+3][i]=='|')
dfs(cur+3,i);
}
}
printf(")");
}
int main()
{
int tcase;
scanf("%d",&tcase);
getchar();
while(tcase--)
{
lc=0;
while(1)
{
gets(s);
//printf("%s..\n",s);
if(s[0]=='#') break;
if(s[0]=='\n') continue;
strcpy(t[lc++],s);
}
//printf("%d...\n",lc);
//for(int i = 0; i < lc;i++)
//puts(t[i]);
if(lc==0)
{
printf("()\n");
continue;
}
printf("(");
for(int i = 0; i < strlen(t[0]); i++)
if(t[0][i]!=' ')
{
dfs(0,i);
break;
}
printf(")\n");
memset(t,0,sizeof(t));
}
return 0;
}
*/
#include<cstdio>
#include<cstring>
#include<cstdlib>
char s[210],t[210][222];
int lc;
int dfs(int cur,int p)
{
if(cur==lc)
return 0;
printf("%c",t[cur][p]);
if(t[cur+1][p]!='|')
{
printf("()");
return 0;
}
printf("(");
int x=p,y=p;
while(t[cur+2][x]=='-')
x--;
x++;
while(t[cur+2][y]=='-')
y++;
y--;
//printf("%d %d %d...\n",x,y,p);
for(int i = x; i <= y; i++)
{
if(t[cur+3][i]!=' '&&t[cur+3][i]!=0&&cur+3<lc)
{
//printf("%c",t[cur+3][i]);
//if(t[cur+3][i]=='|')
dfs(cur+3,i);
}
}
printf(")");
}
int main()
{
int tcase;
scanf("%d",&tcase);
getchar();
while(tcase--)
{
lc=0;
while(1)
{
gets(s);
//printf("%s..\n",s);
if(s[0]=='#') break;
if(s[0]=='\n') continue;
strcpy(t[lc++],s);
}
//printf("%d...\n",lc);
//for(int i = 0; i < lc;i++)
//puts(t[i]);
if(lc==0)
{
printf("()\n");
continue;
}
printf("(");
for(int i = 0; i < strlen(t[0]); i++)
if(t[0][i]!=' ')
{
dfs(0,i);
break;
}
printf(")\n");
memset(t,0,sizeof(t));
}
return 0;
}
相关文章推荐
- UVa 10562 - Undraw the Trees
- Uva - 10562 - Undraw the Trees
- 【例题 6-17 UVa 10562】Undraw the Trees
- UVA 10562 Undraw the Trees
- Uva - 10562 - Undraw the Trees
- UVA 10562 - Undraw the Trees
- uva 10562 Undraw the Trees(数据处理+建树)
- uva 10562 Undraw the trees(看图写树)
- ACM篇:UVa 10562 -- Undraw the Trees
- uva10562 Undraw the Trees (不定叉树重建)
- UVA - 10562 Undraw the Trees
- UVa 10562 - Undraw the Trees
- UVa 10562 Undraw the Trees (二叉树先序遍历)
- uva 10562 - Undraw the Trees
- Uva10562 Undraw the Trees 【递归建树】【例题6-17】
- UVA 10562 - Undraw the Trees
- UVA 10562 Undraw the Trees
- uva 10562 undraw the trees(烂题) ——yhx
- uva 10562 - Undraw the Trees
- uva-10562 Undraw the Trees