例题 6 - 17 Undraw the Trees UVA - 10562
2017-10-22 09:02
423 查看
原题连接:https://vjudge.net/problem/UVA-10562
题意:根据给出的树画出树的结构
思路:输入树之后,找哪个有根,然后深度搜索。
Code:
#include <bits/stdc++.h>
using namespace std;
const int AX = 1e2 + 66 ;
string buf[AX];
int cnt ;
void dfs(int r , int c ){
printf("%c(",buf[r][c]);
if( r + 1 < cnt && buf[r+1][c] == '|' ){
int i = c ;
while( i - 1 >= 0 && buf[r+2][i-1] == '-' ) i--;
while( buf[r+2][i] == '-' && buf[r+3][i] != '\0' ){
if ( !isspace(buf[r+3][i]) && buf[r+3][i] != '#' ) dfs( r+3,i );
i++;
}
}
printf(")");
}
int main(){
int T;
//freopen("10562.txt","r",stdin);
scanf("%d",&T);
getchar();
while( T-- ){
string s;
cnt = 0;
while( getline(cin , s) ){
if( s[0] == '#' ) break;
buf[cnt] = "";
buf[cnt++] += s;
}
printf("(");
if( cnt ){
int len = buf[0].size();
for( int i = 0 ; i < len ; i++ ){
if( buf[0][i] != ' ' ){
dfs( 0 , i ) ; break;
}
}
}
printf(")\n");
}
return 0;
}
题意:根据给出的树画出树的结构
思路:输入树之后,找哪个有根,然后深度搜索。
Code:
#include <bits/stdc++.h>
using namespace std;
const int AX = 1e2 + 66 ;
string buf[AX];
int cnt ;
void dfs(int r , int c ){
printf("%c(",buf[r][c]);
if( r + 1 < cnt && buf[r+1][c] == '|' ){
int i = c ;
while( i - 1 >= 0 && buf[r+2][i-1] == '-' ) i--;
while( buf[r+2][i] == '-' && buf[r+3][i] != '\0' ){
if ( !isspace(buf[r+3][i]) && buf[r+3][i] != '#' ) dfs( r+3,i );
i++;
}
}
printf(")");
}
int main(){
int T;
//freopen("10562.txt","r",stdin);
scanf("%d",&T);
getchar();
while( T-- ){
string s;
cnt = 0;
while( getline(cin , s) ){
if( s[0] == '#' ) break;
buf[cnt] = "";
buf[cnt++] += s;
}
printf("(");
if( cnt ){
int len = buf[0].size();
for( int i = 0 ; i < len ; i++ ){
if( buf[0][i] != ' ' ){
dfs( 0 , i ) ; break;
}
}
}
printf(")\n");
}
return 0;
}
相关文章推荐
- 【例题 6-17 UVa 10562】Undraw the Trees
- 例题6-17 UVa10562 Undraw the Trees(树)
- uva10562 - Undraw the Trees 入门经典II 第六章数据结构基础 例题6-17
- Uva10562 Undraw the Trees 【递归建树】【例题6-17】
- 例题6-17 看图写树(Undraw the Trees, UVa 10562)
- 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
- uva10562 Undraw-the-Trees 字符题处理 递归
- UVA 题目10562 Undraw the Trees(二叉树前序遍历)
- uva10562 Undraw the Trees (不定叉树重建)
- UVA10562 - Undraw the Trees
- uva 10562 Undraw the trees(看图写树)
- uva10562 -- Undraw the Trees
- UVA 10562 - Undraw the Trees
- Undraw the Trees UVA - 10562
- UVa 10562 (特殊的输入处理方式) Undraw the Trees