CodeForces


CodeForces

文章插图
有一个面积为n×m米的矩形广场,问至少要用多少个边长为a米的正方形花岗岩石板( )铺满这个广?。坎辉市砬懈钍?。输入三个[1,10^9^]的整数m,n,a , 输出问题的答案 。(例:输入6,6,4,输出4)
很简单,广场的长和宽分别是m和n , 那么要铺满广?。?每行至少要m/a或m/a+1个石板 , 每列至少要n/a或n/a+1个石板(何时需要+1看m和n能否被a整除即可),两者相乘就是所需最少石板数 。**要注意的是极限值的问题 。**当m和n都等于10^9^,a等于1时,问题的答案达到了10^18^,因此需要用long long类型变量存储问题答案 。
CodeForces

文章插图

CodeForces

文章插图
【CodeForces】#includeusing namespace std;int main(){int m, n, a;long long res1, res2;//定义为long long之后,其乘积也为long longwhile (cin >> m >> n >> a){if (m%a == 0)res1 = m / a;elseres1 = m / a + 1;if (n%a == 0)res2 = n / a;elseres2 = n / a + 1;cout << res1 * res2 << endl;}return 0;}