回答編集履歴

1

コード追加

2018/04/19 01:39

投稿

can110
can110

スコア38266

test CHANGED
@@ -9,3 +9,43 @@
9
9
  レシピの全食材について`所持分の量 / レシピでの必要量`(少数切り捨て) の最小を求めればよいのではないでしょうか?
10
10
 
11
11
  ただし途中で1人前すら作れないことが分かれば探索終了できます。
12
+
13
+ ```Python
14
+
15
+ recipe = {'supaisu':5, 'imo':2, 'niku':2, 'mizu':3}
16
+
17
+ stok = {'mizu':7,'imo':4,'ninjin':10,'unagi':6,'supaisu':20,'niku':5}
18
+
19
+
20
+
21
+ min_dish = 10000 #最大所持量 / 最小レシピ量より
22
+
23
+ for food, amount in recipe.items():
24
+
25
+ # 持っていない
26
+
27
+ if food not in stok:
28
+
29
+ min_dish = 0
30
+
31
+ break
32
+
33
+ # 何人前作れるか。ただし最小に制限される
34
+
35
+ dish = int(stok[food] / amount)
36
+
37
+ if dish < min_dish:
38
+
39
+ min_dish = dish
40
+
41
+ # 0人前ならこれ以上探しても意味がない
42
+
43
+ if min_dish <= 0:
44
+
45
+ break
46
+
47
+
48
+
49
+ print(min_dish)
50
+
51
+ ```