UVa839 Not so Mobile (二叉树的DFS)

链接:http://acm.hust.edu.cn/vjudge/problem/19486分析:二叉树模型的DFS。输入是采用递归方式输入,直接变读边判断就行。
 1 #include <cstdio>
 2
 3 bool solve(int& W) {
 4     int W1, D1, W2, D2;
 5     scanf("%d%d%d%d", &W1, &D1, &W2, &D2);
 6     bool b1 = true, b2 = true;
 7     if (!W1) b1 = solve(W1);
 8     if (!W2) b2 = solve(W2);
 9     W = W1 + W2;
10     return b1 && b2 && (W1 * D1 == W2 * D2);
11 }
12
13 int main() {
14     int T, W;
15     scanf("%d", &T);
16     while (T--) {
17         if (solve(W)) printf("YES\n"); else printf("NO\n");
18         if (T) printf("\n");
19     }
20     return 0;
21 }
时间: 2024-11-10 19:17:46

UVa839 Not so Mobile (二叉树的DFS)的相关文章

UVA839 Not so Mobile【递归树】

Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hanging over cradles of small babies. ????The figure illustrates a simple mobil

给定一个二叉树的dfs遍历结果(NULL记为*),重构二叉树,返回头节点

给定一个二叉树的dfs遍历结果(NULL记为*),重构二叉树,返回头节点. 思路:第一遍先把*也插入到树中,第二遍把*改成NULL. 如果直接把*记录为NULL,那再来一个节点就不知道,到底是*赋值的NULL,还是本身自带的NULL. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 struct TreeNode{ 5 char val; 6 TreeNode* left; 7 TreeNode* right; 8 TreeNode(

UVA839 Not so Mobile【二叉树】【递归】

Not so Mobile Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hanging over cradles of small babies. \epsfbox{p839a.eps} The fig

6_9 天平(UVa839)&lt;二叉树的DFS&gt;

前一个ubiquous通信小工具,移动只是一个由弦和电线组成的结构五彩缤纷的东西.这种移动通常被发现悬挂在小婴儿的摇篮.图说明了一个简单的移动.它只是一个电线,悬挂的一个字符串,每一个对象的对象.它可以也被看作是一种杠杆的支点上的字符串的字符串联系的电线.从杠杆原理,我们知道,要平衡一个简单的移动的对象的重量的产品他们距离支点必须相等.这是WL×DL = WR×DR,DL是左边的距离DR是右边的距离,WL是左边的重量和WR是右边的重量.在一个更复杂的移动的对象可能被替换由一个子移动,如下图所示.

UVa 12166(字符型二叉树的dfs)

一.题目 [PDF Link] A mobile is a type of kinetic sculpture constructed to take advantage of the principle of equilibrium. It consists of a number of rods, from which weighted objects or further rods hang. The objects hanging from the rods balance each o

UVa12166 Equilibrium Mobile (二叉树结论)

链接:http://acm.hust.edu.cn/vjudge/problem/24840分析:以二叉树的某个结点的重量为基准(基准的意思是它的重量不改变),要使整颗二叉树重量达到平衡,整棵树的总重量为w<<depth(w为基准重量,depth为结点的深度从0开始算).那么统计出叶子结点的个数,并且算出以每个叶子结点的重量为基准时整棵树的总重量,把每种总重量出现的次数用map存起来,然后反过来想,要使整颗树在某个总重量下达到平衡,根据前面的(w<<depth)的推导,结点的深度和

I - 天平 (p157,二叉树的 DFS) UVA - 839

题目 输入一个树状天平,根据力矩相等原则判断是否平衡.如图6-5所示,所谓力矩相等,就是WlDl=WrDr,其中Wl和Wr分别为左右两边砝码的重量,D为距离.采用递归(先序)方式输入:每个天平的格式为Wl,Dl,Wr,Dr,当Wl或Wr为0时,表示该"砝码"实际是一个子天平,接下来会描述这个子天平.当Wl=Wr=0时,会先描述左子天平,然后是右子天平. 样例输入: 10 2 0 40 3 0 11 1 1 12 4 4 21 6 3 2 输出YES 我还是按照上一节数组记录结点的方法做

【数据结构】Not so Mobile (6-9)

[UVA839]Not so Mobile 算法入门经典第6章6-9(P157) 题目大意:输入一个树状天平,根据力矩相等原则判断是否平衡. 试题分析:貌似没有什么难点…… #include<iostream> #include<cstring> #include<cstdio> #include<vector> #include<queue> #include<stack> #include<algorithm> usi

[leetcode 周赛 148] 1145 二叉树着色游戏

目录 1145 Binary Tree Coloring Game 二叉树着色游戏 描述 思路 代码实现 1145 Binary Tree Coloring Game 二叉树着色游戏 描述 有两位极客玩家参与了一场「二叉树着色」的游戏.游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同. 游戏从「一号」玩家开始(「一号」玩家为红色,「二号」玩家为蓝色),最开始时, 「一号」玩家从 [1, n] 中取一个值 x(1 <= x <