uva839
来源:互联网 发布:新浪微博淘宝版入口 编辑:程序博客网 时间:2024/06/06 10:00
思路:输入本身就包含了递归,我们直接一边输入一边递归就可以了
递归思想是这样的:假设我们已经拥有了一个判断某个子天平是否平衡的方法,称为solve()
那么我判断一个天平是否平衡,可以使用这个方法先判断它的左子天平是否平衡,再判断它的右子天平是否平衡,最后计算W1D1=W2D2的公式是否平衡
这里注意,我们在计算左右子天平是否平衡的同时,要记录这两个子天平的总重量,分别存在W1,W2
所以我们在函数中传递的是引用,而不是值
package test;import java.util.Scanner;public class Test{static Scanner sc = new Scanner(System.in);static String line;/** * 输入一个子天平,判断该天平是否平衡,修改W为子天平总重量 * @param W * @return */static boolean solve(Integer W){boolean b1 = true,b2 = true;line = sc.nextLine();String[] temp = line.split(",");Integer W1 = Integer.valueOf(temp[0]);int D1 = Integer.valueOf(temp[1]);Integer W2 = Integer.valueOf(temp[2]);int D2 = Integer.valueOf(temp[3]);if(W1==0) b1 = solve(W1);//判断左子天平,修改W1值if(W2==0) b2 = solve(W2);//判断右子天平,修改W2值W = W1+W2;return (b1&&b2&&(W1*D1==W2*D2));//判断天平是否平衡}public static void main(String[] args) {if(solve(1)){System.out.println("平衡");}else{System.out.println("不平衡");}}}
0 0
- uva839
- uva839
- UVA839
- uva839
- uva839
- UVa839
- UVA839
- UVa839
- UVA839
- UVA839递归
- Uva839-天平
- UVA839 - Not so Mobile
- UVA839 - Not so Mobile
- UVa839 Not so Mobile
- uva839 not so mobile
- UVA839 - Not so Mobile
- UVA839——天平
- uva839解题报告
- UVA-3708-Graveyard
- Python 学习杂记2
- POJ3114 Countries in War【强连通分量】【最短路径】
- synchronized 关键字
- Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier)
- uva839
- [MOOC-陈越何钦铭数据结构]02-2. 一元多项式求导 (25)
- 提取驱动器盘符
- 人还是要学会自爱
- C++ 特殊工具与技术
- 备查常用bcb函数(文件名/字符串/日期)
- Eclipse常用的快捷键
- HDU 4585 Shaolin
- C++多线程求数组和