天平 (Not so Mobile UVA - 839)】的更多相关文章

题目描述: 题目思路: 1.DFS建树 2.只有每个树的左右子树都平衡整颗树才平衡 #include <iostream> using namespace std; bool solve(int& w) { int d1,w1,d2,w2; cin >> w1 >> d1 >> w2 >> d2 ; bool b1 = true ,b2 = true ; if(!w1) b1 = solve(w1) ; if(!w2) b2 = solv…
题意:判断某个天平是否平衡,输入以递归方式给出. 题解:递归着输入,顺便将当前质量作为 &参数 维护一下,顺便再把是否平衡作为返回值传回去. 坑:最后一行不能多回车 附:天秀代码 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; bool solve(int &w) { int w1, d1, w2, d2; cin >> w1 >> d1 >> w…
题目链接:https://vjudge.net/problem/UVA-839 题目大意:输入一个树状天平,根据力矩相等原则,判断是否平衡.  如上图所示,所谓力矩相等,就是Wl*Dl=Wr*Dr.  其中Wl和Wr分别为左右两边砝码的重量,D为距离 采用递归的方式输入:每个天平的格式为Wl,Dl,Wr,Dr   当Wl或Wr为0时  表示该"砝码" 实际是一个子天平  接下来会描述这个子天平.当Wl=Wr=0   会先描述左子天平  然后是右子天平. 思路:解决本道题之前一定要先弄请…
#include<iostream> using namespace std; int solve(int &W) /*这里一定要用引用,为了赋给它值*/ { int wl, dl, wr, dr; cin >> wl >> dl >> wr >> dr; bool f1 = true, f2 = true; if(!wl) f1 = solve(wl); /*沿着这个子天平找下去*/ if(!wr) f2 = solve(wr); W…
UVA.839 Not so Mobile ( 二叉树 DFS) 题意分析 给出一份天平,判断天平是否平衡. 一开始使用的是保存每个节点,节点存储着两边的质量和距离,但是一直是Runtime error.也不知道到底是哪里出了问题,后来发现直接判断当前是否平衡,若下面还有节点,接着递归调用dfs判断,这样一来省去了存储节点所需要的空间和时间,效率大大提升. 代码总览 #include <iostream> #include <cstdio> #include <cstring…
UVa 839 Not so Mobile(树的递归输入) 判断一个树状天平是否平衡,每个测试样例每行4个数 wl,dl,wr,dr,当wl*dl=wr*dr时,视为这个天平平衡,当wl或wr等于0是,下一行将是一个子天平,如果子天平平衡,wl为子天平的wl+wr ,否则整个天平不平衡 #include<iostream> using namespace std; bool solve(int &w) { int wl,dl,wr,dr; cin>>wl>>dl…
Before being an ubiquous communications gadget, a mobilewas just a structure made of strings and wires suspendingcolourfull things. This kind of mobile is usually found hangingover cradles of small babies.The gure illustrates a simple mobile. It is j…
0.最后输出的yes no的大小写 1.注意 递归边界   一直到没有左右子树 即b1=b2=false的时候 才返回 是否 天平平衡. 2.注意重量是利用引用来传递的 #include <iostream> using namespace std; bool solve(int& W) { bool b1=true,b2=true; int wl,dl,wr,dr; cin>>wl>>dl>>wr>>dr; ) b1=solve(wl)…
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.       (picture copy failed…
原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=780 先建立二叉树,之后遍历. #include<iostream> using namespace std; struct Node { int W1, D1, W2, D2; Node *left; Node *right; }; bool flag; Node*…