题目描述:
首都波兰有一个矩形的剧院广场,大小为n*m米。在这个城市每年一度的纪念日上,决定用方形的花岗岩地板去铺砌这个广场。每个地板大小为a*a。
最少需要多少块地板去铺这个广场。他允许地板覆盖的表面范围比剧院广场更大,但是这个剧院广场必须被覆盖。不允许打碎这个花岗岩地板(保障这个矩形地板依旧为矩形,且大小不变)。这个石板的侧面应该与广场的侧面平行。
输入:
输入在第一行且包含三个整数:n,m与a(1 ≤ n, m, a ≤ 109).
6 6 4
输出:
输出所需数量的石板数量。
4
分析:
分别把长度所需砖块个数与宽度所需砖块个数算出来,计算乘积即可。
注意:提交的时候要注意题目中给处的数据范围,一般数据量都很大,刚开始就因为设置成整型导致结果错误。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
double n,m,a;
cin >> n >> m >> a;
long long res;
res = ceil(n / a)*ceil(m / a);
cout << res << endl;
return 0;
}