博客
关于我
例题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/

你可能感兴趣的文章
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>
NIS认证管理域中的用户
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NiuShop开源商城系统 SQL注入漏洞复现
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 模型中的偏差和公平性检测
查看>>