クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

Pythonで解くAtCoder(ABC176:A)

こんにちは、クルトンです!
この記事では

AtCoderの「AtCoder Beginner Contest 176」のA問題をPythonを使って解説します。

問題のリンクを載せておきます。

atcoder.jp

今回必要な知識

  • 1行に複数の数字の入力があるときの受け取り方

1行に複数の数字の入力があるときの受け取り方は以下の記事で解説しています。

kuruton.hatenablog.com


入力の受け取り方

1行に複数の数字の入力があるときの受け取り方

map(int,input().split()))


今回の場合は

N, X, T = map(int,input().split())

とすることで入力を受け取れます。


ではここからは解法について説明します。


解法

たこ焼き器を使う回数をk回とすると

k-1回ではN個のたこ焼きが作れず、k回でN個のたこ焼きが作れることから


(k-1) \times X < N \leq k \times X

となり、これを式変形すると

\frac{N}{X} \leq k < \frac{N}{X} + 1

となるため、答えは\frac{N}{X}以上の最小の整数となります。

これは-|\frac{-N}{X}|に等しいので答えは

-|\frac{-N}{X}| \times T

となります。



以下にサンプルコードを載せておきます

atcoder.jp

まとめ

今回は

  • たこ焼き器を使う回数を式で表す

という問題でした。

\frac{N}{X}以上の最小の整数が-|\frac{-N}{X}|と表せるのは便利なので覚えておきましょう!(実をいうと僕も今日初めて知りました笑)

ではまたお会いしましょう!さようなら~