回答編集履歴

1 コード修正

hayataka2049

hayataka2049 score 19329

2018/05/07 14:16  投稿

何回読んでもルールがよくわからなかったので(どこが双方の第一ターンなのかわからない)、とりあえず適当に書いたのを。
```python
s, a_max, b_max = map(int, input().split())
# initialize
a_water = s
b_water = 0
flag = True  
# 1st turn
a_water += 10
b_water += s + 10
if a_water > a_max:
if a_water > a_max and flag:
   winner = "B"
   last_water = b_water
elif b_water > b_max:
   flag = False
b_water += s + 10
if b_water > b_max and and flag:
   winner = "A"
   last_water = a_water
else:
   flag = False
if flag:
   # 2nd or later
   while True:
       a_water += 1010
       if a_water > a_max:
           winner = "B"
           last_water = b_water
           break
       b_water += 1010
       if b_water > b_max:
           winner = "A"
           last_water = a_water
           break
print(winner, last_water)
```
```
### 修正点について
最初のコードはこういう挙動になっておりました。
```text
1 5 5 # 入力
B 11 # 出力
```
こっちの方が望ましいと思うので直しました。
```text
1 5 5
B 0
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る