uva10562 Undraw the Trees

来源:互联网 发布:sql where执行顺序 编辑:程序博客网 时间:2024/06/05 11:53

简简单单 单单纯纯 我就是想坚持下去 到以后发现我竟然是这样入门的 自己是不是都会觉得很奇葩

#include<cstdio>#include<cctype>#include<cstring>using namespace std;const int maxn = 200 + 10;int n;char buf[maxn][maxn];void dfs(int r, int c) {    printf("%c(", buf[r][c]);    if(r+1 < n && 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])) dfs(r+3, i);            i++;        }    }    printf(")");}void solve(){    n = 0;    for(;;){        fgets(buf[n], maxn, stdin);        if(buf[n][0] == '#') break; else n++;    }    printf("(");    if(n){        for(int i = 0; i < strlen(buf[0]); i++)            if(buf[0][i] != ' ') { dfs(0, i); break; }    }    printf(")\n");}int main(){    int T;    fgets(buf[0], maxn, stdin);    sscanf(buf[0], "%d", &T);    while(T--) solve();    return 0;}


0 0
原创粉丝点击