#177. 羊吃狼
羊吃狼
问题描述
农夫约翰有 只羊,某天有 只狼来到了他放羊的河边。
出于安全考虑,农夫约翰想要立即将所有的 只羊运送回河的另一边的家中。河岸上有一艘小船,农夫约翰可以用它一次最多运送 只动物。农夫约翰只能使用这艘船在两岸之间来回运输动物。
然而,如果有一群动物不在农夫约翰的监督下,而这群动物包括狼和羊,并且狼的数量严格大于羊的数量加 ,那么狼会吃掉羊。只有当动物与农夫约翰在同一侧的河岸上或在船上时,这群动物才会处于农夫约翰的监督下。
现在,农夫约翰想知道安全地将所有羊运送回家的最少运输次数,或者确定是否不可能完成这一任务。
输入格式
输入的唯一一行包含四个整数:(),表示羊的数量;(),表示狼的数量;(),表示农夫约翰一次能够运输的最大动物数量;(),表示在不受农夫约翰监督的情况下,狼会吃掉羊的阈值。当不受农夫约翰监督的狼的数量严格大于羊的数量加 时,狼会吃掉羊。
输出格式
输出一行,包含一个整数,表示安全地将所有 只羊运送回农夫约翰家所需的最少运输次数。如果无法安全地将所有 只羊运送回家,则输出 。
样例
4 4 3 1
3
3 5 2 0
5
2 5 1 1
-1
样例解释
样例1的解释如图