スポンサーリンク

【ABC】Atcoder Beginner Contest317 A,B,C問題 解答・解説【Python】

スポンサーリンク
スポンサーリンク
この記事は約2分で読めます。

 

A – Potions

 

解答

N個の傷薬のリストPと、Hのヒットポイントを持つモンスターがいる。i番目の傷薬を使ってヒットポイントがX以上になった時、iを出力する。

 

Pは初めから小さい方から並んでいるので、for文で前から順番にhと足し算してみた結果、Xを越えたらその時のインデックス+1を出力する。

 

B – MissingNo.

 

解答

本来は1つずつ値が増えていくので、データの最後に値を1つ追加する。追加する値は、現在の最後の値+1の数値。

 

1~n+1番目のインデックスまでをfor文でループし、i番目の値がi-1番目の値+1でない場合に、i-1番目の値+1を出力する。

 

実際の業務では元のデータの末尾にデータを追加するようなことはあまりしたくないと思う。

 

 

C – Remembering the Days

 

解答

 

DFS:深さ優先探索を使う問題。

 

 

 まとめ

類題

 

コメント