题意:
给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形。
思路:
当高为n,宽为m时,按单行数时,当矩形单位长度为1时共有m个矩形,矩形单位长度为2时有m-1个,单位长度为3时为m-2........单位长度为m时为一个,所以求和的m*(m+1)/2
同理可知,按单列数时总共n*(n+1)/2
所以总共为n*(n+1)/2*m*(m+1)/2
代码:
#include <stdio.h>
int main(){
int t,m,n,sum;
scanf("%d",&t);
while(t--){
sum=0;
scanf("%d%d",&m,&n);
sum=(m+1)*m/2*(n+1)*n/2;
printf("%d\n",sum);
}
return 0;
}
难点:公式的推导;