回答編集履歴
1
アルゴリズムに誤りがありましたので、修正しました。
test
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
直接ゴールに達するまでの時間を算出する方法です。
|
2
2
|
亀の場合、1Kmにつきk分なので、G×k分 かかる。
|
3
3
|
うさぎの場合、1Kmにつきu分 かかり、aKmにつきb分休憩なので、
|
4
|
-
aKm進むにはa×u+b 分かかる、但し、ゴールがaKm
|
4
|
+
aKm進むにはa×u+b 分かかる、但し、ゴールがaKmで割り切れるなら最後の休憩は不要になる。
|
5
5
|
よって、
|
6
|
-
G÷aが
|
6
|
+
G÷aの余りが0の場合は、(G÷aの商-1)×(a*u+b) + a*u 分かかる。
|
7
|
-
G÷aが
|
7
|
+
G÷a余りが0でない場合は、(G÷aの商)×(a*u+b)+(G÷aの余り)×u 分かかる。
|
8
8
|
上記をコードにすると以下のようになります。
|
9
9
|
```python3
|
10
10
|
G = int(input())
|
@@ -21,10 +21,10 @@
|
|
21
21
|
|
22
22
|
kame = G * k
|
23
23
|
remain = G % a
|
24
|
-
if
|
24
|
+
if remain == 0:
|
25
|
-
usagi = ((G//a) -1 ) * (a*u + b) + a*u
|
25
|
+
usagi = ((G//a) -1 ) * (a*u + b) + a*u
|
26
26
|
else:
|
27
|
-
usagi = remain*u
|
27
|
+
usagi = (G//a) * (a*u + b) + remain*u
|
28
28
|
|
29
29
|
print("usagi=",usagi,"kame=",kame,"remain=",remain) #参考用
|
30
30
|
|
@@ -34,6 +34,8 @@
|
|
34
34
|
print("USAGI")
|
35
35
|
else:
|
36
36
|
print("KAME")
|
37
|
+
|
38
|
+
|
37
39
|
```
|
38
40
|
実行結果
|
39
41
|
10
|