一、题目描述
一农夫带着m只羊,n只狼过河,农夫有一条可载x只狼/羊的船;农夫在时或者羊的数量大于狼时,狼不会攻击羊;
农夫在不损失羊的情况下,运输几次可以完成运输?
返程不计入次数。
二、输入描述
输入参数为 m, n , x;
m 为羊的数量、n为狼的数量、x为可载狼和羊的数量。
三、输出描述
返回运输次数即可。
如果无法完成运输返回0。
四、解题思路
- 可载狼和羊的数量 > 羊的数量;
- 运输次数+1;
- 狼的数量 > 狼的数量 且 狼的数量 < 2 * (x - 1);
- 需要第二次运输+1;
- 可载狼和羊的数量 < 羊的数量,需要多次运输;
- 狼的数量减去x-1,羊的数量减去x;
- 输出运输次数counts;
五、Java算法源码
public static void main
这篇博客介绍了华为OD机试中的一道题目——狼羊过河问题,提供了解题思路和Java算法源码。农夫需要在不损失羊的情况下,利用一艘船将m只羊和n只狼安全运输过河,船可载x只动物。通过计算和判断,得出运输次数,确保所有动物都能安全过河。
订阅专栏 解锁全文
2974

被折叠的 条评论
为什么被折叠?



