10リットル、7リットル、3リットルの容器が各1個あり、10リットルの容器にのみ水が満タンに入っています。
- この水を移し変える操作により、5リットルを量りとってください。
- この水を移し変え、或いは捨てさる操作により、7リットル及び3リットルの容器に各1リットルの水を量りとってください。但し、水は捨て去ることはできても、最初の10リットル以外の水を使う(補給する)ことはできません。また、最小の操作(捨てるのも1回でカウント)でこれを達成してください。
回答方法の例(解説は不要です)
10l 7l 3l <解説> 0)10 0 0 (←最初の状態) 1) 3 7 0 (10→7の移し変え) 2) 3 4 3 (7→3の移し変え) 3) 3 4 0 (3を捨て去る) ・・・・・・・・・ ・・・・・・・・・ X) 0 1 1 (ゴ~~~~~ル)
ページ: 1 2
1.
2.
2問目については、もっと効率的な方法もあるのでしょうが、僕には思いつきません。
1.
10l 7l 3l
0)10 0 0
1) 3 7 0
2) 3 4 3
3) 6 4 0
4) 6 1 3
5) 9 1 0
6) 9 0 1
7) 2 7 1
8) 2 5 3
2.
10l 7l 3l
0)10 0 0
1) 3 7 0
2) 3 4 3
3) 6 4 0
4) 6 1 3
5) 9 1 0
6) 9 0 1
7) 2 7 1
8) 0 7 1
9) 1 7 0
10) 1 4 3
11) 1 4 0
12) 1 1 3
13) 1 1 0
14) 0 1 1
長いかな?
1)
10 0 0
7 0 3
7 3 0
4 3 3
4 6 0
1 6 3
1 7 2
8 0 2
8 2 0
5 2 3
片方だけ出来ました
1リットル問題は、どうしても2リットル計量後にほかす手を挟まないと解けず・・・。
うーん、10手くらいでいけそうな気もするんですが・・・。
10l 7l 3l
0)10 0 0
1) 7 0 3
2) 7 3 0
3) 4 3 3
4) 4 6 0
5) 1 6 3
6) 1 7 2
7) 8 0 2
8) 8 2 0
9) 5 2 3
あらま、ループしないようにしたら出来ちゃうじゃん^^;
10l 7l 3l
0)10 0 0
1) 7 0 3
2) 7 3 0
3) 4 3 3
4) 4 6 0
5) 1 6 3
6) 1 7 2
7) 1 7 0
8) 0 7 1
9) 7 0 1
10)7 1 0
11)4 1 3
12)4 1 0
13)1 1 3
14)1 1 0
15)0 1 1
想定解答は双子星さんの手順です。
問1は8回、問2は12回が最短手順のはずです。
しゅうさん、藤島さんは(最短操作という条件から)
片方だけ正解です。
1)
10L 7L 3L
0)10 0 0
1) 3 7 0
2) 3 4 3
3) 6 4 0
4) 6 1 3
5) 9 1 0
6) 9 0 1
7) 2 7 1
8) 2 5 3
2)
10L 7L 3L
0)10 0 0
1) 3 7 0
2) 3 4 3
3) 6 4 0
4) 6 1 3
5) 9 1 0
6) 9 0 1
7) 2 7 1
8) 0 7 1
9) 1 7 0
10) 1 4 3
11) 1 4 0
12) 1 1 3
13) 1 1 0
14) 0 1 1
最小の動作かどうかは、チェックしていませんが… > 2)
# 1) はチェックしました
①を10リットル、②を7リットル、③を3リットルの容器とします。
1.5リットルを測り取る
0)①10 ②0 ③0
1)①3 ②7 ③0 (①→②)
2)①3 ②4 ③3 (②→③)
3)①6 ②4 ③0 (③→①)
4)①6 ②1 ③3 (②→③)
5)①9 ②1 ③0 (③→①)
6)①9 ②0 ③1 (②→③)
7)①2 ②7 ③1 (①→②)
8)①2 ②5 ③3 (②→③)完成!
2.②と③を1リットルに
0)①10 ②0 ③0
1)①7 ②0 ③3 (①→③)
2)①7 ②3 ③0 (③→②)
3)①4 ②3 ③3 (①→③)
4)①4 ②6 ③0 (③→②)
5)①1 ②6 ③3 (①→③)
6)①1 ②7 ③2 (③→②)
7)①1 ②7 ③0 (③→捨てる)
8)①1 ②4 ③3 (②→③)
9)①1 ②4 ③0 (③→捨てる)
10)①1 ②1 ③3 (②→③)
11)①1 ②1 ③0 (③→捨てる)
12)①0 ②1 ③1 (①→③)完成!
もう少し少ない手順があったりして。