一、题目描述
一农夫带着m只羊,n只狼过河,农夫有一条可载x只狼/羊的船;农夫在时或者羊的数量大于狼时,狼不会攻击羊;
农夫在不损失羊的情况下,运输几次可以完成运输?
返程不计入次数。
二、输入描述
输入参数为 m, n , x;
m 为羊的数量、n为狼的数量、x为可载狼和羊的数量。
三、输出描述
返回运输次数即可。
如果无法完成运输返回0。
四、解题思路
- 可载狼和羊的数量 > 羊的数量;
- 运输次数+1;
- 狼的数量 > 狼的数量 且 狼的数量 < 2 * (x - 1);
- 需要第二次运输+1;
- 可载狼和羊的数量 < 羊的数量,需要多次运输;
- 狼的数量减去x-1,羊的数量减去x;
- 输出运输次数counts;
五、Java算法源码
public