zoukankan      html  css  js  c++  java
  • hdu 1290 竭诚为杭州电礼物50周年

    专门为杭州电50周年礼事

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 7236    Accepted Submission(s): 3936


    Problem Description
    也许你以前牢骚满腹
    也许你依旧心怀忧伤
    也许你近在咫尺
    也许你我天各一方

    对于每个学子
    母校
    永远航行在
    生命的海洋

    今年是我们杭电建校五十周年,这是一个值得祝福的日子。我们该送给母校一个如何的礼物呢?对于眼下的大家来说,最好的礼物当然是省赛中的好成绩,我不能參赛,就送给学校一个DOOM III球形大蛋糕吧,这但是名牌,预计要花掉我半年的银子呢。

    想象着正式校庆那一天。校长亲自操刀,把这个大蛋糕分给各地赶来祝贺的校友们,大家一定非常高兴。呵呵。流口水了吧...

    等一等。吃蛋糕之前先考大家一个问题:假设校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多能够把这个球形蛋糕切成几块呢?

    做不出这个题目。没有蛋糕吃的!
    为-了-母-校-,为-了-蛋-糕-(不是为了DGMM。枫之羽最会浮想联翩...),加-油-!


     

    Input
    输入数据包括多个測试实例。每一个实例占一行,每行包括一个整数n(1<=n<=1000),表示切的刀数。
     

    Output
    对于每组输入数据。请输出相应的蛋糕块数,每一个測试实例输出一行。


     

    Sample Input
    1 2 3
     

    Sample Output
    2 4 8
     

    分析:

    平面切割空间:
    由二维的切割问题可知。平面切割与线之间的交点有关。即交点决定射线和线段的条数。从而决定新增的区域数。

    当有n-1个平面时,切割的空间数为f(n-1)。要有最多的空间数,则第n个平面需与前n-1个平面相交,且不能有共同的交线。即最多有n-1 条交线。而这n-1条交线把第n个平面最多切割成g(n-1)个区域。

    (g(n)为直线分平面的个数)此平面将原有的空间一分为二。则最多添加g(n-1)个空间。


    故:

    f=f(n-1)+g(n-1)   (g(n)=n(n+1)/2+1)
    =f(n-2)+g(n-2)+g(n-1)
    ……
    =f(1)+g(1)+g(2)+……+g(n-1)
    =2+(1*2+2*3+3*4+……+(n-1)n)/2+(n-1)
    =(1+2^2+3^2+4^2+……+n^2-1-2-3-……-n )/2+n+1
    =(n^3+5n)/6+1


    #include<stdio.h>
    int main ()
    {
        int n;
        while(~scanf("%d",&n))
        {
            printf("%d
    ",(n*n*n+5*n)/6+1);
        }
    return 0;
    }



    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Java里if...else语句
    Java里for循环和增强版循环;break语句:跳出循环;continue:跳转循环
    Java里while循环和do...while循环
    static 修饰符
    Java类变量(静态变量)
    Java实例变量
    Java局部变量
    Java访问实例变量和调用成员方法
    Java里import语句使用
    声明式服务调用
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4684921.html
Copyright © 2011-2022 走看看