他の水を運ぶパズルと似ていますが、このチャレンジのユニークな側面はそれを完全に異なっています。
ベスは砂漠の真ん中のオアシスにあります。湖にはたくさんの水がありますが、残念ながら、バケツはX個しかなく、各バケツにはYリットルの水を入れることができます。
ベスは手に2個のバケツを持ち運ぶことができますが、生き残るためには、1キロ移動した後に正確に1リットル飲む必要があります。彼女はまた、いくつかのバケツを途中で残すことができます(水は蒸発しません)。
チャレンジ
式を計算し、XおよびYの正の整数値に対して機能する最短のソリューションを記述し、ベスがオアシスから移動できる最大距離を計算します。バケット間での水の移動は許可されています。
例
X = 3、Y = 5
- Bethはオアシスから3KM離れたバケツを1つ残して戻ります(オアシスからの最後の飲み物を持ち帰ります)
- Bethは3KMのポイントに別の完全なバケットをもたらし、現在12Lを持っています。
- ベスは6KMポイントに進み、4Lの水を入れたバケツを離れることができます。
- 3KMポイントに戻ります。彼女はオアシスに戻るためにちょうど2Lを持っています。
- バケツを満たし、6KMポイントまで移動します。彼女は今8Lの水を持っています。
- 15KMポイントまでずっと進みます。
答えは:15
入出力
X / Yをコードで直接定義するか、入力から読み取ることができます。結果は、変数または出力のいずれか短い方に配置できます。