a831 - 1、地砖摆放
題目描述
題目要求計算在長寬分別為 n 和 m 的房間中,使用邊長為 a 的地磚所需的最少地磚數量。地磚可以切割,但切割後只能保留其中一塊,其餘作廢。
解題思路
由於地磚可以切割,因此我們需要計算覆蓋長度和寬度所需的地磚數量,然後將它們相乘即可得到總的地磚數量。對於長度 n 和寬度 m,我們需要計算 ceil(n/a) 和 ceil(m/a),其中 ceil 表示向上取整。程式碼中使用了條件運算符來實現向上取整的功能。如果 n 或 m 可以被 a 整除,則直接除以 a;否則,除以 a 後加 1。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <stdio.h>
int main(){
long long int a,b,c;
while(scanf("%lld%lld%lld",&a,&b,&c)>0){
(a%c==0)?a=a/c:a=a/c+1;
(b%c==0)?b=b/c:b=b/c+1;
printf("%lld\n",a*b);
}
}