ワインの移し替え問題(5)の解答例を示します。
問題(5)の解
ビンの番号iのワインの量をW(i)で表す。
手順(1)
満杯(n㍑)のビンの番号を探し、その番号をpとする。
手順(2)
・p=nの場合
ビンの番号と入っているワインの量が一致しないビンを見つける。
見つからないとき、移し替えが終了していることになる。
見つかったとき、ワインを移し替える。
そのビンの番号をq、ワインの量をW(q)㍑とする。
番号qのワインが満杯になるまで、番号p(=n)から移し替える。
番号qのビンがn㍑、番号p(=n)のビンがW(q)㍑となる。
・p=r(≠n)の場合
r㍑入っているビンを探す。そのビンの番号をsとする。
番号sのワインが満杯になるまで、番号rから移し替える。
番号rのビンがr㍑、番号sのビンがn㍑となる。
手順(3)
手順(1)に戻る。