现在又贴出一道简单小游戏模拟题,计算最佳过河方式,代码共享,历史记录。
网上极其流行的小游戏,掏出自己的一点想法,抛砖引玉:
题如下:
晚上5个人过河,所需时间分别为1,3,6,8,12秒,每次过两个或者一个,
过河必须要拿火把,而火把持续时间为30秒,怎样5个人都能过去?
执行环境(WinXP+java version "1.5.0_06"
/**
*created by zxb
*Email:zxbxiaobo@sina.com
*date 2010-4-17 - 上午01:25:03
*zxb 开源测试项目 test
*to do TODO
**/
package com.java.algorism;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* 晚上5个人过河,所需时间分别为1,3,6,8,12秒,每次过两个或者一个,
* 过河必须要拿火把,而火把持续时间为30秒,怎样5个人都能过去?
* 思路:模拟java.util.List类的五个数字值组成,折返数字值之和小于30,实际返回值应该为29;
* @author zxb
*
*/
public class FivePersonCrossRiver {
public static void main(String[] args) {
List<Integer> right=new ArrayList<Integer>();
List<Integer&