uva 699 The Falling Leaves(建二叉树同一时候求和)
本来看着挺难的。大概是由于我多瞟了一眼题解,瞬间认为简单多了。做题就得这样,多自己想想。如今是
多校联赛,然而我并不会做。
。。
。慢慢来,一直在努力。
分析:
题上说了做多不会超过80行。所以能够开一个数组。这里我是把根节点作为第42个数,能够在建树的同一时候求
出那一列全部数值的和左孩子节点减一,右孩子节点加一。。
。写的时候中间出了点小bug,忘了给flag重置0了,调
了好久。。
。
第一次提交wa了,由于没有换行,题目要求结果之间有一行空行的。
。
。
贴代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<limits.h> int cnt[100];
int flag,m;
int min,max;
typedef struct Tnode
{
int data;
struct Tnode *lchild;
struct Tnode *rchild;
}*node;
void creattree(node &T,int n)
{ int x;
if(flag)
{
x = m;
flag=0;
}
else
scanf("%d",&x);
if(x == -1)
{
T = NULL;
return ;
}
else
{
cnt[n] += x;
T = (node)malloc(sizeof(Tnode));
T->lchild = NULL;
T->rchild = NULL;
T->data = x;
}
creattree(T->lchild, n-1);
creattree(T->rchild, n+1);
if(n < min)
min = n;
if(n > max)
max = n;
return ;
}
int main()
{
int i;
int ans = 0;
while(scanf("%d",&m)&&m!=-1)
{
ans++;
min = INT_MAX;
max = 0;
flag = 1;
memset(cnt, 0, sizeof(cnt));
node T;
creattree(T,42);
printf("Case %d:\n",ans);
for(i=min; i<=max; i++)
{
printf("%d",cnt[i]);
if(i!=max)
printf(" ");
}
puts("");
puts("");
//flag = 0;
}
return 0;
}
uva 699 The Falling Leaves(建二叉树同一时候求和)的更多相关文章
- UVA 699 The Falling Leaves (二叉树水题)
本文纯属原创.转载请注明出处,谢谢. http://blog.csdn.net/zip_fan. Description Each year, fall in the North Central re ...
- UVA.699 The Falling Leaves (二叉树 思维题)
UVA.699 The Falling Leaves (二叉树 思维题) 题意分析 理解题意花了好半天,其实就是求建完树后再一条竖线上的所有节点的权值之和,如果按照普通的建树然后在计算的方法,是不方便 ...
- UVa 699 The Falling Leaves(递归建树)
UVa 699 The Falling Leaves(递归建树) 假设一棵二叉树也会落叶 而且叶子只会垂直下落 每个节点保存的值为那个节点上的叶子数 求所有叶子全部下落后 地面从左到右每 ...
- UVa 699 The Falling Leaves (树水题)
Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on ...
- UVA 699 The Falling Leaves (递归先序建立二叉树)
题目链接:http://acm.hust.edu.cn/vjudge/problem/19244 #include <iostream> #include <cstdio> # ...
- UVa 699 The Falling Leaves
题意:给出按先序输入的一颗二叉树,分别求出从左到右的相同横坐标上的节点的权值之和 递归建树,然后用sum数组分别统计每一个横坐标上的权值之和 感觉建树都在递归递归递归= =慢慢理解吧 #include ...
- uva 699 the falling leaves——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3QAAAMsCAIAAACTL3d2AAAgAElEQVR4nOx9y7GuPA4tKRADk/92T8 ...
- uva 699 The Falling Leaves dfs实现
额,刘汝佳小白里面的配套题目. 题目求二叉树同垂直线上结点值的和. 可以用二叉树做,挺水的其实. 尝试使用dfs实现了:开一个大点的数组,根节点为最中间那点,然后读取时就可以进行和的计算了. 代码: ...
- UVA - 699The Falling Leaves(递归先序二叉树)
The Falling Leaves Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Sub ...
随机推荐
- gcc 内联汇编
http://www.cnblogs.com/zhuyp1015/archive/2012/05/01/2478099.html
- Docker 1.3 公布
Docker 1.3 公布 Docker 1.3 已经正式公布.新的特性包含镜像签名.进程注入.新的创建和执行容器命令.安全选项和 Mac OS 上进行文件夹共享.特别是针对安全方面的改进,成为本地公 ...
- MVC动态添加文本框,后台使用FormCollection接收
在"MVC批量添加,增加一条记录的同时添加N条集合属性所对应的个体"中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收.使用FormCollection也可以接 ...
- MVC扩展ActionInvoker,自定义ActionInvoker,根据请求数据返回不同视图
ActionInvoker的作用是:根据请求数据(HttpPost,HttpGet等)和action名称,来激发响应的action,再由action渲染视图.本文通过自定义ActionInvoker, ...
- VC6 下 libpng 库的编译与初步使用
VC6 下 libpng 库的编译与初步使用 目录 libong 库的介绍 VC6 下 libpng 的编译 下载 libpng 与 zlib 进行编译 得到 .lib 文件 初步使用 对 VC6 ...
- 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...
- Struts2 校验框架学习笔记
Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更 ...
- Quartz调用大全
Quartz调用大全 1.Quartz应用范围广泛,可单独执行也可在spring中嵌入执行. 类似的定时任务在linux下可以用crontab执行 2.实现代码: QuartzTest :主要执行类 ...
- UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表
UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那 ...
- 在Mac OS X上配置Apache2
转载:http://www.cnblogs.com/yuanyq/p/3435022.html#2821339 最近一段时间在开发面向移动设备的网页,而且是静态网页.所以很需要一个HTTP服务器,简单 ...