本文实现的java版商人过河是参考http://wenku.baidu.com/link?url=dpe2AC8mCjpGnclFv6iZy88_vqYm3bED4QDpSkAI4ssgs7BhntuuJTlw6_R1N02efR7CfQB8swuCDpROC3GoAqxcPNMTv7l5d1AHamcwCne实现,有兴趣的可以看原文。

反正我是没跑通。。。自己调了很久。。。。不多说,直接贴代码。运行不通过找我。。。

通用版实现。

package mechants_River;
/**
 * m 商人人数
 * s 随从 人数
 * dual 对象表示商人和随从的组成状态,也就是一次渡河方案。
 * add minus 状态变迁的计算
 * @author tina
 *
 */
public class Dual {
    int m, s;

    public Dual(int m, int s) {
        this.m = m;
        this.s = s;
    }

    Dual add(Dual e) {
        return new Dual(this.m + e.m, this.s + e.s);
    }

    Dual minus(Dual e) {
        return new Dual(this.m - e.m, this.s - e.s);
    }
    public boolean greaterOrEqual(Dual d){
        //System.out.println("is Valid"+this.m+" "+this.s+"----"+d.m+"  "+d.s);
        return (this.m>=d.m&&this.s>=d.s? true:false); 
    }
}
View Code

相关文章: