例1
关于从长方形的巧克力中切出正方形的小巧克力,可以看下面的示意图:
上图是一块5x6的巧克力分别切出1x1、2x2和3x3的示意图。切成1x1一共可以切出30块,切成2x2可以切出6块。四个1是一块,四个2是一块,以此类推。切成3x3一共可以切出2块。用公式来说的话,一块HxW的巧克力,如果要切出边长是x的正方形,一共可以切出⌊H/x]*[W/x]块正方形的巧克力
现在题目的要求是,在保证至少切出K块正方形巧克力的前提下,要正方形的边长越大越好。首先我们应该很容易想到,正方形的边长越大,能切出来的数量就越少
比如我们看样例是一块5x6的巧克力和一块6x5的巧克力。如果边长是1,那么一共可以切出来30+30=60块;如果边长是2,那么一共可以切出来6+6=12块;如果边长是3,那么一共可以切出来2+2=4块;如果边长是4,那么一共可以切出来1+1=2块。如果边长是5,那么也是2块。
因为题目要求至少保证10块,所以答案就是2。因为边长是2可以切出12块;而再大一点边长是3的话就只能切出6块了。
思路1 暴力枚举
从小到大枚举边长x;对于确定的x,计算N块巧克力一共能切出多少