Codeforces Beta Round #1 A. Theatre Square 題解

題目連接:http://codeforces.com/contest/1/problem/A
題目大意:
給你一個 n × m 的矩形地面,你要用 a × a 的地瓷磚鋪滿它。可是你不能破壞這些地磚,
並且你鋪的瓷磚都必須和地面的長或寬平行,問最少須要多少多少瓷磚?
題目分析:
這是一道基礎問題,不涉及什麼比較有難度的算法。
首先咱們來看,按照題目要求來鋪瓷磚的話,咱們最終鋪出來的也是一個矩形。
而且咱們設咱們鋪出來的長方形的長和寬分別爲 n' 和 m' ,而且知足 n' ≥ n 且 m' ≥ m 。
而且咱們知道, n' 和 m' 都是能被 a 整除的。因此咱們只須要找到最小的 n' 和 m' 就能夠了。
經過分析咱們可以獲得最小的 n' = ⌈n/a⌉ × a , 最小的 m' = ⌈m/a⌉ × a 。(其中 ⌈⌉ 表示向上取整)
因此咱們能夠很方便地實現這個代碼:c++

#include <bits/stdc++.h>
using namespace std;
long long n, m, a;

int main() {
    cin >> n >> m >> a;
    cout << ( ( (n+a-1)/a ) * ( (m+a-1)/a ) ) << endl;
    return 0;
}
相關文章
相關標籤/搜索