题目:
Description
Theatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city's anniversary, a decision was taken to pave the Square with square granite flagstones. Each flagstone is of the size a × a.
What is the least number of flagstones needed to pave the Square? It's allowed to cover the surface larger than the Theatre Square, but the Square has to be covered. It's not allowed to break the flagstones. The sides of flagstones should be parallel to the sides of the Square.
Input
The input contains three positive integer numbers in the first line: n, m and a (1 ≤ n, m, a ≤ 10的9次方
).
Output
Write the needed number of flagstones.
Sample Input
Input
6 6 4
Output
4
这道题的意思是用aa的砖去铺nm的地面,至少需要多少块砖(砖不能切割)(覆盖问题)?
这道题是一道很简单的模拟数学题,但是当时我想了好半天。
参考代码:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
ll result(ll n, ll m, ll a) {
ll ans = 0;
ll a1 = n / a;
if (n % a) a1 += 1;
ll b1 = m / a;
if (m % a) b1 += 1;
return a1 * b1;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
ll n, m, a;
while (cin >> n >> m >> a) {
ll ans = result(n, m, a);
cout << ans << endl;
}
return 0;
}