ガラスのコップ
テーブルの上に、何も入っていないコップが5個あります。1個は上下が逆さに置かれています。あなたは「3個のコップの上下をひっくり返す」操作ができます。
(必ず3個を同時にひっくり返す必要があります)
![画像の説明 画像の説明](swfu/d/ua07_1.png)
すべてのコップを上向きにするために、「3個のコップの上下をひっくり返す」操作は最低何回必要ですか。
- 解説を見る
- 正解は「3回」
3個をひっくり返せるということは、次のどちらかの操作ができる
- 「上上下を選んで下下上にする」のように、2個の上向きのコップと1個の下向きのコップを選んで、下向きのコップを1個増やせる
- 「下下下を選んで上上上にする」のように、下向きのコップ3個をすべて上向きにできる
下向きのコップを1個ずつ増やしていき、3個揃ったところで上向きにすればよい
![画像の説明 画像の説明](https://bebras.eplang.jp/index.php?plugin=ref&page=%E3%80%8C%E3%82%AC%E3%83%A9%E3%82%B9%E3%81%AE%E3%82%B3%E3%83%83%E3%83%97%E3%80%8D%E8%A7%A3%E7%AD%94&src=ua07_2.png)
- 解説
この問題は、アルゴリズムに従い、「システム」や「変数」の状態を追跡する問題です。この問題の状態は「上向きのコップの個数」(この値がわかれば「下向きのコップの個数」も決定できます)です。