UVA10562解题报告

2023-05-16

我的GitHub地址:https://github.com/DongChengrong/ACM-Program

仔细观察他给出的树,我们可以发现这棵多叉树长得比较有特点。最上是树根,而每一个节点只要有孩子下面就会跟着一个字符‘|’,我们可以根据这个特点来判断一个节点是否有孩子。如果有我们就继续捕捉他的子节点。如何将他的子节点一网打尽呢?我们有注意到所有的子节点的上方都有字符'-',所以我们可以从这里做文章,先找到‘-’字符的最右边,在从这个位置依次往左寻找在'-'字符的下面是否有子节点

#include<cstdio>
#include<cstring>
#include<cctype>
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 pos = c;
        while(pos>=1 && buf[r+2][pos-1] == '-') pos--;
        for(;;pos++)
        {
            if(buf[r+2][pos]!='-' || buf[r+3][pos] == '\0') break;
            if(!isspace(buf[r+3][pos])) dfs(r+3,pos);
        }
    }
    printf(")");
}

void slove()
{
    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 = 0;
    fgets(buf[0],maxn,stdin);
    sscanf(buf[0],"%d",&T);
    while(T--) slove();
    return 0;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UVA10562解题报告 的相关文章

  • HDOJ 1058 Humble Numbers解题报告【DP】

    Humble Numbers 题目详见http acm hdu edu cn showproblem php pid 61 1058 开始拿到这个题目的时候还纠结了半天 xff0c 英语很差的话这个题是不可能AC的 而我就是其中之一 Hum
  • 楼教主男人必解八题之 Coins 解题报告

    楼教主男人必解八题之 Coins 解题报告 题目详见http acm hdu edu cn showproblem php pid 61 2844 这个题目和POJ1742是一个题目 xff0c 也是楼教主的男人八题之一 说的是给出N种硬币
  • [转载]最小矩形(rec1)的解题报告

    百度之星2009大赛的第二场有一道和此相关的题目 xff0c 如果看透这篇文章应该好写了 xff0c 不过可惜我事后才看到 xff0c 郁闷啊 xff01 xff01 还是要多看看书 原文 xff1a http www pmit com c
  • Leetcode Decode Ways 解题报告

    A message containing letters from A Z is being encoded to numbers using the following mapping 39 A 39 gt 1 39 B 39 gt 2
  • poj1287解题报告

    对于学过图和Prim算法的人来说 xff0c 此题是一道不折不扣的水题 xff0c 尤其是输入范围限定在了50之内 xff0c 所以即便我用了O xff08 n 3 xff09 的算法也只用了16MS就AC了 前期建图 xff0c 我用的是
  • zoj3961解题报告

    借今年浙江省赛的题练练手 首先 xff0c 由题意知 xff0c A与B发信息 xff0c 当A与B连续互相发信息m天时 xff0c 好感度point 43 1 输入有A向B发信息的天数与B向A发信息的起止天数 xff0c 具体格式看题 n
  • poj3617解题报告

    题意 xff1a 输入一个整数n xff0c 后面跟着n行大写字母 xff0c 现要求对这些字母进行排序 xff0c 要求字典序最小 xff0c 每80个字母一行且字母只能从两端任取一个 根据上面的信息我们不难想到若使字典序最小则只需从两端
  • UVA10881解题报告

    还是那句话 xff0c 解题先看题 由题意知有一根长度为L的木棒 xff0c 木棒上面有n只蚂蚁 xff0c 每只蚂蚁或朝左或朝右且以每秒1cm的速度移动 xff0c 吗 xff0c 蚂蚁相撞后掉头 xff0c 问T秒后每只蚂蚁的状态 xf
  • UVA1594解题报告

    这么垃圾的代码竟然没有超时 xff0c 我真不知道是该欢喜还是愁 AC代码 Time 0 11s include lt cstdio gt include lt cmath gt using namespace std const int
  • uva12100解题报告

    水题留念 一个队列模拟进出操作 xff0c 一个优先队列保存优先级 xff0c 模拟过程输出结果 Time 0ms include lt cstdio gt include lt queue gt include lt cstring gt
  • UVA232解题报告

    注意一个地方 xff0c 编号是从左到右 从上往下增大的 xff0c 所以我们可以从这里做文章按照编号大小的顺序遍历输出 实际上 xff0c 因为给出的数据范围很小我们的求解速度还是很快的 xff0c 尤其是横向输出时还可以做点小手脚加快运
  • UVA230解题报告

    这个题耗了我六天时间 xff0c 很打击我对算法的学习 xff0c 不过 xff0c 我终于解决了他 分析如下 仔细观察我们可以发现后面的操作与输出都是围绕标题 xff08 title xff09 展开的 xff0c 作者 xff08 au
  • UVA10562解题报告

    我的GitHub地址 xff1a https github com DongChengrong ACM Program 仔细观察他给出的树 xff0c 我们可以发现这棵多叉树长得比较有特点 最上是树根 xff0c 而每一个节点只要有孩子下面
  • UVA227解题报告

    因为网格中存在空格所以用gets录入 xff0c 首先录入一行数据 xff0c 如果第一个字符为 39 Z 39 则break退出循环 其次是对指令的接受与处理 接受指令可以用getchar xff0c 遇到换行符跳过 处理也很简单 xff
  • UVA818解题报告

    span class hljs comment UVA 818 理解了题意和水题差不多 条件 xff1a 一些可能相同的无向边 要求 xff1a 构建一个满足如下三个要求的图 一 不能有环 二 连成一条直线 三 所有节点要连在一起 操作 x
  • 迷宫问题(2) 解题报告

    迷宫问题 问题描述 给定一个N M方格的迷宫 xff0c 迷宫里有T处障碍 xff0c 障碍处不可通过 给定起点坐标和终点坐标 xff0c 问每个方格最多经过1次 xff0c 有多少种从起点坐标到终点坐标的方案 在迷宫中移动有上下左右四种方
  • HDOJ 1058 Humble Numbers解题报告【DP】

    Humble Numbers 题目详见http acm hdu edu cn showproblem php pid 61 1058 开始拿到这个题目的时候还纠结了半天 xff0c 英语很差的话这个题是不可能AC的 而我就是其中之一 Hum
  • Print in Order 解题报告(C++)

    我们提供了一个类 xff1a public class Foo public void one print 34 one 34 public void two print 34 two 34 public void three print
  • Can you solve this equation?(二分)

    Problem Description Now given the equation 8 x 4 7 x 3 2 x 2 3 x 6 Y can you find its solution between 0 and 100 Now ple
  • 蓝桥杯 砝码称重 递归 解题报告

    5个砝码 用天平称重时 我们希望用尽可能少的砝码组合称出尽可能多的重量 如果只有5个砝码 重量分别是1 3 9 27 81 则它们可以组合称出1到121之间任意整数重量 砝码允许放在左右两个盘中 本题目要求编程实现 对用户给定的重量 给出砝

随机推荐

  • 如何报名计算机等级考试

    只限山东考生 进入http www sdzk cn zsks index shtm如图 xff0c 点击全国计算机等级考试 进入下图网页 xff0c 选择你要考试的城市 注册一个账号或登录 选择当前场次 选择同意 填写个人信息 xff0c
  • bootstrapvalidator实现校验、校验清除重置

    问题 xff1a 经常开发中用到modal对话框弹出验证以后第二次弹框时上次的验证效果依然有效 xff0c 那就要想办法第二次弹框之前去掉上次的验证 xff1b 解决办法 xff1a 1 引入bootstrap的validator的校验js
  • ACM题目分类

    基本算法 模拟题 xff1a UVA118 递推 xff1a 勘测 位运算 xff1a Sum AND Subarrays 快速幂 xff1a dreamstart的催促 动态规划 xff1a LCS xff1a UVA10192 动态规划
  • 简单选择排序

    与冒泡排序相反 xff0c 每次把最小的 xff08 升序 xff09 放到第一个 xff0c 共放置n 1次 include lt stdio h gt void sort int A int N for int i 61 0 i lt
  • 二叉查找树练习代码

    include lt stdio h gt include lt stdlib h gt define Element int typedef struct Node Element data struct Node left right
  • ncre不能支付

    NCRE支付的时候点击支付按钮没反应 xff0c 这是怎么回事 xff1f 这是因为浏览器把它当成垃圾网站给拦截了 xff0c 你可以换个浏览器也可以找找有没有被阻止的网页 我用的是Google的Chrome xff0c 以它为例示范一下
  • 插入排序练习代码

    include lt stdio h gt void sort int A int n int i j tmp for i 61 1 i lt n i 43 43 tmp 61 A i for j 61 i j gt 0 j if tmp
  • 希尔排序练习代码

    include lt stdio h gt void sort int A int n int i j tmp increment for increment 61 n 2 increment gt 0 increment 61 2 for
  • 二叉树、树、森林之间的转化

    树转二叉树 将孩子作为左孩子 xff0c 将第一个兄弟作为右孩子 二叉树转树 将左孩子的右孩子作为自己的孩子 森林转二叉树 与转树差不多 xff0c 唯一需要注意的是要把第二棵树的根节点作为第一棵树的一个兄弟 二叉树转森林 把右孩子断开成一
  • 最小堆练习代码

    include lt stdio h gt include lt stdlib h gt define INF 100000 define MinData 10 typedef int Element typedef struct Node
  • 不带头结点的单链表逆置操作

    reverse函数负责逆置工作 include lt stdio h gt include lt stdlib h gt typedef struct Node int data struct Node next Node List voi
  • 我的第一个Python程序

    突然想学Python了 xff0c 今天开始学习 xff0c 编出了我的第一个Python程序 calculate the area and circumference of a circle from its radius import
  • PowerShell-压缩解压缩文件

    PowerShell 压缩解压缩文件 缘起压缩文件1 调用第三方工具自带命令2 PowerShell命令压缩 解压缩文件1 PS命令解压2 Windows内置解压3 调用COM对象 附 xff1a 查看PowerShell版本方法 缘起 前
  • Python绘制五角星

    借用了turtle这一模块的帮助 import turtle turtle forward 100 turtle right 144 turtle forward 100 turtle right 144 turtle forward 10
  • 小明的调查作业(南阳理工OJ48)

    描述 小明的老师布置了一份调查作业 xff0c 小明想在学校中请一些同学一起做一项问卷调查 xff0c 聪明的小明为了实验的客观性 xff0c 想利用自己的计算机知识帮助自己 他先用计算机生成了N个1到1000之间的随机整数 xff08 0
  • 如何加快cin\cout读取数据的速度

    在使用cin cout前加上 ios sync with stdio false 这可以加快读取数据的速度 xff0c 但是有一个非常不好的副作用就是不能与scanf这类的输入输出方法混用了 xff0c 我就是因为混用结果有一个题提交了10
  • Python读写文件

    coding utf 8 向指定文件中存储指定内容 def text create name msg full path 61 name 43 39 txt 39 file 61 open full path 39 w 39 file wr
  • eclipse设置编码格式

    打开文件 xff0c 点击edit下的setCoding 如图 弹出一个对话框 xff0c 点击other 选择utf 8 先点击apply再点击OK 完成
  • Python打印九九乘法表

    打印九九乘法表 def create table for row in range 1 10 for column in range 1 row 43 1 print str row 43 39 39 43 str column 43 39
  • UVA10562解题报告

    我的GitHub地址 xff1a https github com DongChengrong ACM Program 仔细观察他给出的树 xff0c 我们可以发现这棵多叉树长得比较有特点 最上是树根 xff0c 而每一个节点只要有孩子下面