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
解题思路:
两个对角点确定一个矩形
寻找每行节点与之不同行不同列的节点 从左到右,从上到下,依次寻找, 得公式 num=n*(n+1)/2+m*(m+1)/2
#include <stdio.h> #include <iostream> using namespace std; int main() { int n,m,i; scanf("%d",&i); while(i--) { scanf("%d%d",&n,&m); printf("%d\n",(n*n+n)/2*(m*m+m)/2); } return 0; }