题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2524
解题思路:假设有3行2列的矩形。。。。
那么对于行有3种情况:1>矩形全是1行长,有3种情况。2>矩形全是2行长,那么有2种情况。3>矩形全是3行长,那么有1种情况。
对于列有2种情况:1>矩形全是1列长,有2种情况。2>矩形全是2列长,那么有1种情况。
所以总共有(3+2+1)*(2+1)种矩形。
以此类推。。。。。。。。。。
代码如下:
1 #include <cstdio> 2 #include <algorithm> 3 #include <iostream> 4 5 using namespace std; 6 7 8 int main() 9 { 10 int t; 11 int m=0,n=0; 12 scanf("%d",&t); 13 while (t) 14 { 15 t--; 16 scanf("%d%d",&n,&m); 17 printf("%d\n",n*(1+n)*m*(1+m)/4);//排列组合问题,参考:http://www.zybang.com/question/e28e16e05d2e0e77c9bb872d17d19e84.html 18 } 19 return 0; 20 }