Uva699 839二叉树的遍历
2016-04-06 21:46
477 查看
这题主要是在数据的读取上可能会比较犯难
想懂以后就简单了。https://uva.onlinejudge.org/external/6/699.pdf
/* *树叶问题 *Uva699 */ #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define maxn 150 int sum[maxn]; void build(int p){ int v;cin>>v; if(v==-1) return; sum[p]+=v; build(p-1);build(p+1); } bool init(){ int v;cin>>v; if(v==-1) return false; memset(sum,0,sizeof(sum)); int pos=maxn/2; sum[pos]=v; build(pos-1); build(pos+1); return true; } int main(){ int kase=0; while (init()) { int p=0; while(sum[p]==0) p++; cout<<"Case "<<++kase<<":\n"<<sum[p++]; while(sum[p]!=0) cout<<" "<<sum[p++]; cout<<"\n\n"; } return 0; }
Uva839
https://uva.onlinejudge.org/external/8/839.pdf
#include <iostream> #include <cstdio> using namespace std; bool getNode(int& W){ int W1,D1,W2,D2; bool b1=true,b2=true; cin>>W1>>D1>>W2>>D2; if(!W1) b1=getNode(W1); if(!W2) b2=getNode(W2); W=W1+W2; return b1 && b2 && (W1*D1==W2*D2); } int main(){ int T,W; cin>>T; int f=0; while(T--){ if(f++) cout<<"\n"; if(getNode(W)) cout<<"YES\n"; else cout<<"NO\n"; } return 0; }
这里的格式问题让我折腾了好久。。。果然要每日练习避免生疏
相关文章推荐
- AVL树-自平衡二叉查找树(Java实现)
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#数据结构之顺序表(SeqList)实例详解
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 数据结构之Treap详解
- 浅析STL中的常用算法