HDOJ 1290 献给杭电五十周年校庆的礼物

来源:互联网 发布:nba直播数据统计 编辑:程序博客网 时间:2024/05/17 23:04

献给杭电五十周年校庆的礼物

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


Problem Description
或许你曾经牢骚满腹
或许你依然心怀忧伤
或许你近在咫尺
或许你我天各一方

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

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

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

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

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

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

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

Sample Input
123
 

Sample Output
248
 

Author
lcy
 

Source
杭电ACM集训队训练赛(VIII)
 

这个题,考平面分割直线。

以下解释为转发,出处不明:

要n条直线最多把平面分成若干部分,必须n条直线两两相交且无3条过同一点,记n条直线最多可以把平面分成an部分,第n条直线与前n-1 条直线最多有n-1个交点,这些交点把第n条直线分成n段,每一段把原来对应的部分分为两部分,所以从n-1条直线增加了1条直线共增加了 n 部分,

即an-an-1=n(n>1),

累加求和得, (n²+n+2)/2.

记n个平面最多可以把空间分成an部分,第n个平面与前n-1 个平面最多有n-1条交线,这些交线把第n个平面分成部分(n²+n+2)/2,每部分把对应的空间分为两部分,所以共增加了(n²+n+2)/2.部分,则:an-an-1=(n²+n+2)/2, (n>1)

 累加求和得,an=(n+1) * (n² - n+6)/6.


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


0 0
原创粉丝点击