矩形A + B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5197 Accepted Submission(s): 4040
Problem Description
给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格.


Input
第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100).
Output
每行输出网格中有多少个矩形.
Sample Input
2 1 2 2 4
Sample Output
3 30
这是一个规律题,因为矩形的长和宽不相互影响,所以我们只需要单独研究长或者宽的情况,然后再相乘(分步累乘)就可以了,什么?这个不知道,那就去温习一下初中知识吧,呃呃呃...
至于长和宽的情况一样,稍微一推,就推出来有多少个矩形了....前 n 项和,然后就直接加起来吧.........
最后别忘长和宽的情况相乘......
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int t,n,m,s;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
s=n*(n+1)/2*m*(m+1)/2;//数据最大为100,不用担心溢出...
printf("%d\n",s);
}
return 0;
}