Блог пользователя MedalPluS

Автор MedalPluS, 9 лет назад, По-английски

题意:给你一个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;
}
  • Проголосовать: нравится
  • -17
  • Проголосовать: не нравится