问题 H: 过河羊咩咩咩(防ak信不信由你)

问题 H: 过河羊咩咩咩(防ak信不信由你)

时间限制: 2 Sec  内存限制: 512 MB
提交: 27  解决: 6
[状态] [讨论版] [提交] [命题人:]
题目描述

农夫山泉有 x 只羊,有一天,y 只狼来到他放羊的河边。

起初,羊和狼在同一岸。

为了安全起见,农夫山泉想立即把 x 只羊运回河对岸的房子。河岸上有一条小船,农夫山泉可以用它一次运送多达 p 只动物。农夫山泉只能用这艘船在两个河岸之间来回运送动物。

但是,如果有一群动物不在农夫山泉的监管范围内,而且这群动物中既有狼也有羊,狼的数量又严格大于羊的数量加 q,那么狼就会吃掉羊。当且仅当一群动物与农夫山泉在船上或在河的同一侧时,它们才会在农夫山泉的监管之下。

现在农夫山泉想知道至少需要多少次才能把所有的羊安全地运回他在河对岸的家,或者告诉他这是不可能的,即输出 -1 。

输入

输出
输出一行包含一个整数,表示将所有 x 只羊安全运回河对岸农夫山泉家所需的最少次数。如果不可能将所有 x 只羊安全运回家,则在一行中输出 −1 。
样例输入 Copy
4 4 3 1
样例输出 Copy
3
提示