题目大意:
就是在一块长方形地面上铺瓷砖,然后一共要用多少块瓷砖,一块瓷砖被割开后只能用一次,输入长,宽,以及瓷砖边长,求一共需要多少块瓷砖;
基本思路:
这里有个技巧:就长来说,需要(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; }