天天看點

RPG的錯排 (HDU 2068)                         RPG的錯排

time limit: 1000/1000 ms (java/others)    memory limit: 32768/32768 k (java/others)

total submission(s): 6746    accepted submission(s): 2738

problem description

今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜:r是公主,p是草兒,g是月野兔;第二次猜:r是草兒,p是月野兔,g是公主;第三次猜:r是草兒,p是公主,g是月野兔;......可憐的野駱駝第六次終于把rpg厘清楚了。由于rpg的帶動,做acm的女生越來越多,我們的野駱駝想都知道她們,可現在有n多人,他要猜的次數可就多了,為了不為難野駱駝,女生們隻要求他答對一半或以上就算過關,請問有多少組答案能使他順利過關。

input

輸入的資料裡有多個case,每個case包括一個n,代表有幾個女生,(n<=25), n = 0輸入結束。

sample input

sample output

剛開始我一直用n!去減,而n最大25,n!溢出了。。唉,腦殘了一下,其實可以直接算i個人錯排,就相當于猜對n-i個人的個數。

但對于組合的計算也要用到n!,,怎麼辦呢??   這個就要用double,雖然double儲存n!不夠精确,但要算的是c組合,是以可行。

程式如下: