矩形的个数
时间限制: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,计算可以从中找到多少个矩形。
-
输入
-
本题有多组输入数据(<10000),你必须处理到EOF为止
输入2个整数A,B(1<=A,B<=1000)
输出 -
输出找到的矩形数。
样例输入 -
1 2 3 2
样例输出 -
3 18
-
本题有多组输入数据(<10000),你必须处理到EOF为止
#include<stdio.h>
int main()
{
long long int a,b,n;
while(scanf("%lld%lld",&a,&b)!=EOF)
{
n=a*(a+1)*b*(b+1)/4;
printf("%lld\n",n);
}
} 巧妙之处:将矩形整体放倒坐标中,即只要保证任意X轴上有两点,Y轴上有两点。就能构成一个矩形。所以采用求排列组合数即可。
注意之处:因为是大数问题,需用long long int 型。
本文介绍了一个计算在给定尺寸的矩形中能找出多少个不同大小矩形的问题,并提供了一个高效的算法实现。通过数学组合的方法,文章展示了如何利用排列组合快速得出答案。
1658

被折叠的 条评论
为什么被折叠?



