题目大意:
就是在一块长方形地面上铺瓷砖,然后一共要用多少块瓷砖,一块瓷砖被割开后只能用一次,输入长,宽,以及瓷砖边长,求一共需要多少块瓷砖;
基本思路:
这里有个技巧:就长来说,需要(n+k-1)/ k块瓷砖,你想,如果是n=z*k,那么(n+k-1)/ k还是z,如果是n=z*k+t,那么(n+k-1)/ z是z+1,根据题意,完全正确,注意下数据类型long long就好了;
代码如下:
#include<cstdio>
using namespace std;
typedef long long ll;
int main(){
int n,m,k;
while(scanf("%d%d%d",&n,&m,&k)==3){
int nn=(n+k-1)/k;
int mm=(m+k-1)/k;
printf("%I64d
",(ll)nn*mm);
}
return 0;
}