AtCoder Beginner Contest 185をPythonで解く

投稿日: 

Atcoder Python

B!
Daniel AgreloによるPixabay(https://pixabay.com/)からの画像

こんにちは, Shinoryoです.

今回はAtCoder Beginner Contest 185を, Pythonで解いてみた結果を書き連ねていこうと思います.

A - ABC Preparation

単純に, $A_1$, $A_2$, $A_3$, $A_4$の最小値を出力します.

B - Smartphone Addiction

問題文に従って, カフェに入る前および帰宅したときのバッテリー残量を調べ, 0以下かどうか判定します. 最大容量以上にバッテリーは充電されないことに注意して, 充電の処理をしてください.

C - Duodecim Ferra

求めるものはすなわち, 切る場所の候補$L-1$個から, 実際に切る$11$個を選ぶ場合の数になります. Python3の整数int型には最大値はないことになってはいますので, 下のコードで問題はありません. 場合によっては, オーバーフローしないようにする処理が必要になるでしょう.

D - Stamp

マス目の中で白色のマスが連続しているところの白色のマスの個数を, 左から$x_1$, $x_2$, …, $x_n$とする. ハンコの幅$k$に関して, $x_1$, $x_2$, …, $x_n$の中に$k$より小さいものがあると, 目標を達成することはできません. $k$はなるべく大きなものを使った方が良いので, $k$の値として適切なのは, $x_1$, $x_2$, …, $x_n$の最小値であることが分かります.

最終的に求めるのは,

\begin{align} \sum_i (\text{$x_i / k$の小数第1位を切り上げた値}) \end{align}

になります. 白色のマスが存在しない場合の処理を別途行う必要があることに注意してください.

E以降

E以降は私の能力不足故に省略いたします.

参考にしたサイト等

Search

About Me

自分の写真
理系大学生でした. Bloggerを利用して発信を行っています.

Labels

Blog Archives