天平 (Not so Mobile, UVa 839)
2015-01-08 10:53
357 查看
题意:输入一个树状天平,根据力矩相等的原则判断是否平衡。就是W1D1= W2D2,其中W1,W2分别为左右两边砝码的重量,D为距离。
示意图如下:
个人代码如下:
结果:
示意图如下:
个人代码如下:
#include <iostream> using namespace std; #define IsLeaf(w1, w2) ((w1) && (w2)) bool solve(int &w) { int W1, L1, W2, L2; cin>> W1 >> L1 >> W2 >> L2; if(IsLeaf(W1, W2) == true) { //Leaf节点表示递归终止 w = W1 + W2; return (W1 * L1 == W2 * L2); } else { bool b1 = true, b2 = true; if(!W1) b1 = solve(W1); //Node节点进行递归 if(!W2) b2 = solve(W2); //Node节点进行递归 w = W1 + W2; return b1 && b2 && (W1 * L1 == W2 * L2); } } int main() { int w = 0; if(solve(w)) cout<< "YES"; else cout<< "NO"; return 0; }
结果:
相关文章推荐
- uva 839 Not so Mobile 天平问题
- UVa 839-Not so Mobile(天平)
- Uva839 Not so Mobile(天平)
- uva 839 (Not so mobile)天平 ---递归输入
- uva 839 - Not so Mobile
- UVA - 839 Not so Mobile
- UVa 839 - Not so Mobile
- UVA - 839 Not so Mobile
- UVa 839 - Not so Mobile【递归】
- UVA - 839 - Not so Mobile
- Uva 839 Not so Mobile
- UVA 839 Not so Mobile(二叉树|DFS)
- UVa 839 (递归方式读取二叉树) Not so Mobile
- 例题6-9 UVa839 Not so Mobile(树)
- UVA 839 Not So Mobile 【递归+树】
- uva 839 Not so Mobile(抽象意义上的建树)
- UVA - 839 Not so Mobile
- UVa 839 Not so Mobile (DFS二叉树)
- Not so Mobile UVA - 839
- UVa839 Not so Mobile