首页 > 代码库 > uva 699 The Falling Leaves(建二叉树同一时候求和)
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 = http://www.mamicode.com/x;"%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(建二叉树同一时候求和)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。