文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

Theatre Square [ Codeforces Beta Round #1 A ]

codeforces.com


本ブログでは初めてとなる Codeforces の記事です。

問題

n * m の平面に a * a のタイルを詰める。タイルは最低何枚必要か?


考察

二次元の切り上げ問題です。Double型を使わずに切り上げるやり方は以前に記事に書きましたね。
さっそく使いどころがやってきました。


縦は n/a を切り上げた個数、横は m/a を切り上げた個数、タイルが並びます。
よって、これら2つをかけ合わせればよいです。


コード

void solve (FastScanner in, PrintWriter out) {

	long n = in.nextLong(), m = in.nextLong(), a = in.nextLong();
	out.println(((n+a-1)/a)*((m+a-1)/a));

}