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.
The input contains three positive integer numbers in the first line: n, m and a (1 ≤ n, m, a ≤ 109).
Write the needed number of flagstones.
6 6 4
4
解题思路:由于 地板只能整块的铺,所以可以只考虑边上得情况,长宽的结果相乘即得答案。设长为n,宽为m,则需要ceil(n / a) * ceil(m / a)块木板。
代码如下:
#include <cstdio>
#include <cmath>
int main()
{
long long m,n,a;
long long l,w;
while(scanf("%I64d %I64d %I64d",&n,&m,&a) != EOF){
l = ceil((double)n / a);
w = ceil((double)m / a);
printf("%I64d\n",l * w);
}
return 0;
}