hdu 1290 竭诚为杭州电礼物50周年

时间:2023-08-16 19:24:02

专门为杭州电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*n+5*n)/6+1);
}
return 0;
}


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