设为首页 加入收藏

TOP

杭电2524 矩形A + B(找规律,递推 水题)
2015-07-20 17:38:51 来源: 作者: 【 】 浏览:3
Tags:杭电 2524 矩形 规律 递推 水题

矩形A + B

Time Limit: 2000/1000 MS ( Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4189 Accepted Submission(s): 3240

Problem 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

Source HDU 2008-10 Programming Contest 题意: 就是简单的计算 矩形的个数,有公式如下;矩形的总的个数为n*(n+1)/2*m*(m+1)/2 公式的推到过程如下: 就是讲网格单列出来,就每一行来说, 总的网格数是1+2+3+。。。+m=m*((m+1)/2. 对每一列来说: 总的网格数是:1+2+3+。。。+n=n*(n+1)/2; 所以纵隔的代码数为n*(n+1)/2*m*(m+1)/2; 代码如下:
#include
  
   
int main()
{
	int t,n,m;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		__int64 sum=0;//因为题中的数据至100,所以计算的时候,最后用__int64位,尽管这道题不用也能够正确
		sum+=n*(n+1)/2*m*(m+1)/2;
		printf("%I64d\n",sum);
	}
	return 0;
}
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SICP 习题 (1.46)解题总结 下一篇URAL 1268. Little Chu 求最大原根

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·「链表」是一种怎样 (2025-12-25 19:20:51)
·C 语言中的链表有哪 (2025-12-25 19:20:48)
·c语言中的链表怎么学 (2025-12-25 19:20:45)
·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)