AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3710. 狼羊过河

中等通过率 33% · 提交 402 · 通过 133
BFS模拟图论

小慕需要将m只羊和n只狼运送到河对岸,他有一条船,每次最多可以载x只狼或羊。当小慕在场时,或者羊的数量严格多于狼的数量时,狼不会攻击羊。问:在不损失任何羊的情况下,小慕最少需要运送几次才能完成全部运输?注意:只计算小慕从起点出发到对岸的次数,返回时他不会运送任何羊或狼。

提示:带虚线的词点一下有通俗解释。

输入描述

输入参数为m,n,x m为羊的数量、n为狼的数量、x为可载狼和羊的数量

输出描述

返回运输次数即可 如果无法完成运输返回0

示例

示例 1

输入

5 3 3

输出

3

说明:第一次运2只狼 第二次运3只羊 第三次运2只羊和1只狼

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
河流 左岸(出发岸) 🐑 🐑 🐑 🐺 🐺 🐺 右岸(对岸) (空) 去程 回程(空船) 初始状态:左岸 3 羊 3 狼,船在左岸
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「狼羊过河」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。