这道题突然让我回到了高二时候,想起来那时候大组长教我们这个找矩形数目,用排列组合做,横着找两条边,竖着找两条边,然后一夹就是一个矩形,当时怎么想都没明白,可能当时身体实在太虚了,没办法将精力全部集中到学习上,诶,悔之晚矣啊。回到这道题上,这虽然算法很简单,但是数据类型不对的话,也是做不出来的,例如如果不用 long long 的话,绝对是错。另外提一下,cin也是可以处理EOF的。
描述
在一个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
#include<iostream>
using namespace std;
int main(){
long long m,n;
while(cin>>n>>m){
long long sum;
sum=(n+1)*n*(m+1)*m;
cout<<sum/4<<endl;
}
return 0;
}
本文介绍了一个计算在给定尺寸的矩形中能找出多少个矩形的问题,通过使用简单的算法来解决这一问题,并提供了一个C++实现的例子。
631

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



