题意:给你一个n*m的矩形,求最少用几个a*a的小矩形去覆盖它?(不允许打碎,但允许覆盖)
算法:数学 手画几个矩形,我们发现,贴着边放矩形即可,如果不能整除则+1,否则累积下来 然后用行乘列,记得开long long 时间复杂度O(1) 空间复杂度O(1)
#include <iostream>
#include <cstdio>
using namespace std;
int a,n,m;
long long row,col;
int main(){
cin>>n>>m>>a;
row=n/a+(n%a==0?0:1);
col=m/a+(m%a==0?0:1);
cout<<row*col;
return 0;
}