数矩形(N 暴力求解、打表)

数矩形

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的网格,计算有多少矩形?
 
分析:
数学问题。
用到暴力,和打表的方法。打表就是找规律然后直接输出答案。
问题的重点在于找规律,a=(n*n+n)/2*(m*m+m)/2。
 
代码:
 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 
 5 int n[100],m[100];
 6 
 7 int main()
 8 {
 9     int t;
10     int n,m,a;
11     scanf("%d",&t);
12     while(t--)
13     {
14         scanf("%d%d",&n,&m);
15         a=(n*n+n)/2*(m*m+m)/2;
16         printf("%d\n",a);
17     }
18     return 0;
19 }
View Code
原文地址:https://www.cnblogs.com/ttmj865/p/4688516.html