数矩形(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。
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 }