首页 > 其他 > 详细

nyoj-矩形的个数

时间:2015-03-28 16:56:27      阅读:137      评论:0      收藏:0      [点我收藏+]

找规律!!!!!别忘了处理溢出!!!!!

假设矩形有1行,行有n种可能,列有n+n-1+……+1种可能

假设矩形有2行,行有n-1种可能,列有n+n-1+……+1种可能

……

假设矩形有n行,行有1种可能,列有n+n-1+……+1种可能

总共a*(a+1)*b*(b+1)/4种可能

int main()
{
    int a,b;
    while(cin >> a >> b)
     cout <<(long long) a*(a+1)*b*(b+1)/4<< endl;
     return 0;
}

原先枚举超时的代码,复杂度O(a*b)

 int r,c;
    long long sum = 0;
    while(scanf("%d%d",&r,&c)!=EOF)
    {
              sum = 0;
              for(int i = 1; i <= r; i++)
                for(int  j = 1; j <= c; j++)
                   sum += (r - i + 1)*(c - j + 1);
               printf("%I64d",sum);
               }
      return 0;

 

nyoj-矩形的个数

原文:http://www.cnblogs.com/ekinzhang/p/4374355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!