博客
关于我
例题6-17 看图写树(Undraw the Trees, UVa 10562)
阅读量:292 次
发布时间:2019-03-03

本文共 921 字,大约阅读时间需要 3 分钟。

原题链接:

分类:树
备注:多叉树的DFS

因为最外面那个括号让我搞了半天…看一眼紫书,原来最外层的括号和里面的括号规律不同,直接放在外面输出就好了…

代码如下:

#include
#include
#include
using namespace std;string line[205];int depth;void dfs(int L,int R,int pos) { for (int i = L; i < R && i < line[pos].length(); i++) { if (line[pos][i] != ' ' && line[pos][i] != '-' && line[pos][i] != '#') { printf("%c(", line[pos][i]); if (pos + 1 < depth && i < line[pos + 1].length() && line[pos + 1][i] == '|') { int l, r; l = r = i; while (l > 0 && line[pos + 2][l - 1] != ' ')l--; while (line[pos + 2][r] != ' ' && r < line[pos + 2].length())r++; dfs(l, r, pos + 3); } printf(")"); } }}int main(void) { int T; scanf("%d", &T); getchar(); while (T--) { depth = 0; while (getline(cin, line[depth++])) { if (line[depth - 1] == "#")break; } depth--; printf("("); if (depth)dfs(0, line[0].length(), 0); printf(")\n"); } return 0;}

转载地址:http://gcel.baihongyu.com/

你可能感兴趣的文章
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
MySQL 到底能不能放到 Docker 里跑?
查看>>
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
mysql 四种存储引擎
查看>>
MySQL 基础模块的面试题总结
查看>>
MySQL 备份 Xtrabackup
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>