uva 10562 - Undraw the Trees
2019独角兽企业重金招聘Python工程师标准>>>
有点dfs的感觉,树是连通的,可以从根节点一直追踪到叶子。有些比如空树的特殊情况要小心。
#include<stdio.h>
#include<string.h>
#include<ctype.h>#define MAX 210char tree[MAX][MAX];
int idx;void drawTree(int i, int j) {if (tree[i + 1][j] == '|') {printf("%c", tree[i][j]);tree[i][j] = '-';int s, t;for (s = j; tree[i + 2][s] == '-'; s--);for (t = j; tree[i + 2][t] == '-'; t++);s++;t--;printf("(");int p;for (p = s; p <= t; p++) {if (isprint(tree[i + 3][p]) && tree[i + 3][p] != '-'&& tree[i + 3][p] != '|' && tree[i + 3][p] != ' '&& tree[i + 3][p] != '#')drawTree(i + 3, p);}printf(")");} else {printf("%c()", tree[i][j]);tree[i][j] = '-';}return;
}int main() {int cases;scanf("%d", &cases);while (cases--) {memset(tree, 0, sizeof(tree));idx = 0;while (gets(tree[idx]) != NULL ) {if (tree[idx][0] == '#')break;elseidx++;}int i, j;int blank = 1;for (i = 0; i < MAX; i++) {for (j = 0; j < MAX; j++) {if (isprint(tree[i][j]) && tree[i][j] != '-'&& tree[i][j] != '|' && tree[i][j] != ' '&& tree[i][j] != '#') {blank = 0;printf("(");drawTree(i, j);printf(")\n");}}}if(blank)printf("()\n");}return 0;
}
转载于:https://my.oschina.net/jdflyfly/blog/283617
uva 10562 - Undraw the Trees相关推荐
- UVa 10562 Undraw the Trees 看图写树
转载请注明: 仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 题目大意: 题目传送门:UVa 10562 Undraw the Trees 给定字符拼成的树 ...
- uva 10562 Undraw the Trees
题意:给出一棵树,让你用另一种方法表达出来 解题思路:深搜思路(注意为空的情况)---这道题对它的所有情况还是没有考虑好! 解题代码: // File Name: uva10562.c // Auth ...
- Uva 10562 看图写树
题目链接:https://uva.onlinejudge.org/external/105/10562.pdf 紫书P170 直接在二维数组上做DFS,用的fgets函数读入数据,比较gets函数安全 ...
- POJ 2229 Sumsets(递推,找规律)
构造,递推,因为划分是合并的逆过程,考虑怎么合并. 先把N展开成全部为N个1 然后合并,因为和顺序无关,所以只和出现次数有关 情况有点多并且为了避免重复,分类,C[i]表示序列中最大的数为2^i时的方 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- 算法竞赛入门竞赛 入门经典 第六章 个人记录
UVa 210 并行程序模拟(放弃 || 待补) 没看懂题意,但是有百度了一下duque 算是对duque有了一个大致的认识和了解 当然也有尝试. 本来想着去hdu找一些duque的题 结果 好像可以 ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- 【日常学习】【指针二叉树+BFS】Uva - 122 Trees on the level题解
作为一个传统型的树盲,不得不把树重新学习一次.通常我是不太喜欢指针的,但这样写下来感觉还能接受. 题目来源是ACM DUKE 1993 Uva 122 杭电也有这道题 这道题目基本是照着ruka抄来 ...
- 【学习笔记】树形结构基础
目的 mark一下紫书上的例题与操作,以备复习. 内容 各种套路 UVa 122 #include <bits/stdc++.h> using namespace std; char s[ ...
最新文章
- 高效Tensor张量生成
- c语言知识重温及深入
- 计算机蓝屏代码0xc0000020,Win10运行程序提示“损坏的映像 错误0xc0000020”怎么解决?...
- 《Python入门到精通》文件操作
- Oracle Decode()函数和CASE语句的比较
- python cnn模型_字符级CNN分类模型的实现
- A3的PDF试卷怎么对半拆分成A4打印?
- 拥有百万粉丝的大牛讲述学Android的历程程。看看你缺了哪些?
- 集合论的ZFC公理系统
- sqldblink建好不能查询_眉山这个停车场显示有车位却不能停?原来是……
- 桌面运维常见问题解决办法③
- c 添加mysql表单的一行数据类型,MySQL InnoDB表行格式及压缩
- 蓝桥杯练习题 Fibonacci数列
- shell编程-数组的使用
- elasti 时间范围查询
- Bitly野心彰显,发布实时热门链接引擎Realtime
- 全球及中国网络漫画行业发展前景及未来趋势调研报告2021年版
- 社交类产品创业难点在哪儿?
- 力矩 torque详解
- 《企业自主搞定ERP》试读:第三章-成功案例
热门文章
- Android 自动扫描歌曲,Android扫描本地音乐文件开发案例分享
- mpp文件转换excel_原来只要按下这个键,Word、PDF、PPT、Excel文件随你互相转换
- seven days later
- 【BZOJ3555】企鹅QQ,第一次正确的使用哈希A题
- MySQL怎么查游戏内邮件附件_怎么查询游戏mysql账号密码
- bzoj4415 [Shoi2013]发牌 线段树
- 2017.5.10 华容道 失败总结
- 2017.5.6 表达式的值 思考记录
- 【英语学习】【Daily English】U14 Transportation L03 Sorry for keeping you waiting
- 【英语学习】【WOTD】leviathan 释义/词源/示例