uva 699

原创 2015年11月20日 18:45:53

题目大意:
建立树,然后算出垂直方向同一条直线上节点的值的和。

思路:一共可以有80个字符,那么就从中间开始 ,因为是先序遍历的方法,又左子树的右子树会和其根节点在同一垂直的线上,右子树的左子树同理。递归,pos-1到左子树没有左子树了之后就开始pos+1,这样就可以计算值了。设置l,r只是为了方便最后的输出。

#include <iostream>
using namespace std;
#include <cstring>
int a[81];
int l, r;
void sort(int n,int pos)
{
    int x;
    if (n != -1)
    {
        if (pos < l) l = pos;
        if (pos > r) r = pos;
        a[pos] = a[pos] + n;
        scanf("%d", &x);
        sort(x, pos - 1);
        scanf("%d", &x);
        sort(x, pos + 1);
    }
}
int main()
{
    int n;
    int i;
    int num = 0;

    while (scanf("%d", &n) && n != -1)
    {
        num++;
        l = r = 40;
        memset(a, 0, sizeof(a));
        sort(n, 40);
        printf("Case %d:\n", num);
        for (i = l; i < r; i++)
            printf("%d ", a[i]);
        printf("%d\n\n", a[r]);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

UVA699

题目的意思是根据给出的先序遍历,
  • yeyeyeguoguo
  • yeyeyeguoguo
  • 2014年07月24日 21:50
  • 828

UVa 699 The Falling Leaves(递归建树)

题意  假设一棵二叉树也会落叶  而且叶子只会垂直下落   每个节点保存的值为那个节点上的叶子数   求所有叶子全部下落后   地面从左到右每堆有多少片叶子 和上一题有点像  都是递归输入的  一个...
  • acvay
  • acvay
  • 2014年09月24日 12:48
  • 1079

UVA 699 下落的树叶 (p159, 二叉树的 DFS)

分析:这个题的输入是先序遍历,发现这点很重要。统计每个层次的树叶总数,可以把整个树看作在一个一维坐标系中。 #include int a[81],left,right;//记载...
  • qq_32036091
  • qq_32036091
  • 2015年12月23日 20:47
  • 351

UVA699-例题6-10 下落的树叶(The Falling Leaves,UVa 699)

原题链接: UVa-699 题目大意:   题意为给一棵二叉树,求从左向右输出每个水平位置的所有结点的权值之和。输入按照递归(先序)方式,-1表示空树。 解题思路:  本题是《算法竞赛入门经典》第六...
  • han_zhuang
  • han_zhuang
  • 2017年07月28日 17:55
  • 980

UVA699(树)

UVA699(树)
  • Ema1997
  • Ema1997
  • 2016年04月09日 17:45
  • 133

uva 699

用一个int 变量 p 记录一下树中节点的位置,边输入就可以建树。 用flag 变量记录是否初始化。#include #include #include #include using nam...
  • iboxty
  • iboxty
  • 2015年05月20日 11:54
  • 216

UVA - 699

题目链接 典型的递归写法,注意下格式 #include #define ll long long #define pb push_back #define inf 0x3f3f3f3f usin...
  • ffgcc
  • ffgcc
  • 2018年01月23日 21:57
  • 68

uva 699

我们可以把它直接考虑是个一维数组,对每个点向两边扩展,记录数据在数组中, 就是DFS #include int a[81],left,right; void sort(int num,int pos...
  • asuxiexie
  • asuxiexie
  • 2014年07月22日 21:45
  • 684

UVA 699 (The Falling Leaves)

UVa 699The Falling Leaves  Each year, fall in the North Central region is accompanied by the brilli...
  • github_37216944
  • github_37216944
  • 2017年03月29日 19:18
  • 64

UVa 699 Falling Leaves

#include #define HASHSIZE 20000 typedef struct TreeNode { int val; int pos; struct TreeN...
  • littleorange6
  • littleorange6
  • 2015年10月09日 10:20
  • 181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uva 699
举报原因:
原因补充:

(最多只允许输入30个字)