程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 1290 獻給杭電五十周年校慶的禮物

hdu 1290 獻給杭電五十周年校慶的禮物

編輯:C++入門知識

hdu 1290 獻給杭電五十周年校慶的禮物


獻給杭電五十周年校慶的礼物

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
int main ()
{
    int n;
    while(~scanf("%d",&n))
    {
        printf("%d\n",(n*n*n+5*n)/6+1);
    }
return 0;
}



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved