hdu 2524

来源:互联网 发布:vb selectcase 编辑:程序博客网 时间:2024/06/06 15:49
hdu 2524

N - 暴力求解、打表

Time Limit:1000MS    Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

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*m网格矩形个数

思路:看似这道题解决方法是暴力,打表,但是其实找到其数学规律就好,高总共有(n+1)条线,宽总共有m+1条线,所以矩形个数为:C(n+1,2)*C(m+1,2)=((n+1)*n/2)*((m+1)*m)/2

代码:

#include<cstdio>using namespace std;int main(){    int t,n,m;    long long ans;    scanf("%d",&t);    while(t--)    {        scanf("%d%d",&n,&m);        ans=((n+1)*n/2)*((m+1)*m)/2;        printf("%lld\n",ans);    }    return 0;}


 

 

0 0
原创粉丝点击