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;
}
相关文章
相关标签/搜索