質問編集履歴
1
追記質問
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,15 @@
|
|
13
13
|
s, a, b
|
14
14
|
|
15
15
|
|
16
|
+
条件
|
17
|
+
すべてのテストケースにおいて、以下の条件をみたします。
|
16
18
|
|
19
|
+
・1 ≦ S ≦ 1,000,000
|
20
|
+
・1 ≦ a, b ≦ 1,000,000
|
21
|
+
・a ≧ S + 10 ・すなわち、 風呂A には必ず 1 回以上水を行われる。
|
22
|
+
|
23
|
+
|
24
|
+
|
17
25
|
以下のルールに従って、水を貯めていく。
|
18
26
|
|
19
27
|
|
@@ -128,5 +136,71 @@
|
|
128
136
|
|
129
137
|
|
130
138
|
|
139
|
+
```
|
131
140
|
|
141
|
+
#追記質問
|
142
|
+
|
143
|
+
配列ではなく、while構文を利用するようにとアドバイスをいただきました。
|
144
|
+
|
145
|
+
A、B それぞれにwhile構文を使い、それぞれの浴槽の水が溢れる直前に入れた水の量を表示できた。
|
146
|
+
|
147
|
+
しかし、ルール上にあるように交互に入れた際の、勝った相手のみ表示させたい。
|
148
|
+
|
149
|
+
二つの条件を合わせたwhile文が書けません。
|
150
|
+
|
151
|
+
アドバイス等頂きたいです。
|
152
|
+
|
153
|
+
#追記条件
|
154
|
+
|
155
|
+
|
156
|
+
加えて、入力値の条件を追記しました。
|
157
|
+
|
158
|
+
|
159
|
+
入力値
|
160
|
+
|
161
|
+
s, a, b
|
162
|
+
|
163
|
+
|
164
|
+
条件
|
165
|
+
すべてのテストケースにおいて、以下の条件をみたします。
|
166
|
+
|
167
|
+
・1 ≦ S ≦ 1,000,000
|
168
|
+
・1 ≦ a, b ≦ 1,000,000
|
169
|
+
・a ≧ S + 10 ・すなわち、 風呂A には必ず 1 回以上水を行われる。
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
```ここに言語を入力
|
175
|
+
コード
|
176
|
+
|
177
|
+
s,a,b = map(int, input().split())
|
178
|
+
print(s,a,b)
|
179
|
+
|
180
|
+
#Aの一回目
|
181
|
+
water_a = s+10
|
182
|
+
#Bの一回目
|
183
|
+
water_b = s+1010
|
184
|
+
|
185
|
+
|
186
|
+
#Bの一回目が限界値を越えていたら、Aの勝利
|
187
|
+
if water_b > b:
|
188
|
+
print("A" + " " + water_a)
|
189
|
+
#上記以降は交互に入れる
|
190
|
+
else:
|
191
|
+
while water_a < a:
|
192
|
+
water_a += 1010
|
193
|
+
print(water_a)
|
194
|
+
break
|
195
|
+
#Bの一回目はクリアしたため、順次 1010リットルずつ足していく
|
196
|
+
while water_b < b:
|
197
|
+
water_b += 1010
|
198
|
+
print(water_b)
|
199
|
+
break
|
200
|
+
|
201
|
+
#出力値
|
202
|
+
1021
|
203
|
+
2021
|
204
|
+
|
205
|
+
|
132
206
|
```
|