不要把复杂整的太简单,也不要把简单的整的太复杂,如果这道题放在高中,一看就能出来的。。。。
矩形的个数
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。
给出A,B,计算可以从中找到多少个矩形。 -
- 解题思路:
- 先对长进行切割,在对宽进行切割
- 假设长为L,则能切割出1*L, 2*(L-1), 3*(L-2) ,,,,,,,,L*1;假设宽为W,同理可以切割出1*W,,,,,,,,,,,,,W*1;
- 那么可以找到长为L的矩形的个数是1*(1+2+,,,,,,,,,,+W);
- 同理L-1。。。。。。2*(1+2+。。。+W);
- ......................故总个数就是(1+2+...+L)*(1+2+....+W);
- 不就是两个等差数列的和的积么!!!!!简单吧。
-
#include<stdio.h> int main() { long long L,W; while(scanf("%lld%lld",&L,&W)!=EOF) { printf("%lld\n",L*(L+1)*W*(W+1)/4); } return 0; }