hdu 2068 rpg的錯排
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
1 2
0 sample output
1 1
解析:這個題的意思呢是在1~n的全排列中,ai = i達到一半或一半以上的全排列數量。由題目看得出這是乙個組合數學問題,而且是乙個關於錯置的問題。n的全排列中錯置的個數為
dn=n!(1-1/1!+1/2!-1/3!+…+(-1)n1/n!)
又有
dn=(n-1)(dn-2+dn-1)
而n給出最大為25,所以把前13個算出來即可。接著每次只要列舉1~n/2之間每個的正確個數即可
(注意:涉及組合個數)。
最後求和就可以了,**如下:
#include
#include
using namespace std;
double jc(int x)
double c(int fz,int fm)
int main()
return
0;}
hdu 2068 RPG的錯排 錯排)
problem description 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r是草兒,p是公主...
HDU 2068 RPG錯排 錯排公式
1.題意 1到n的序列的排列中,元素位置與元素值相對應的情況 值為i的元素在某個排列中正好排在第i個位置 大於等於序列規模一半的情況,有多少個?2.輸入輸出 每組資料乙個數,n,規定輸入以0結尾 3.分析 原題意換句話說,就是針對1到n的全排列,錯排元素的個數小於等於n的情況有多少 那麼,輸出即為 ...
HDU 2068 RPG的錯排 排列組合
解題報告 題目大意 有n個人和n個名字,要將他們一一對應,對應的規則是至少要有n 2是對了的,求這樣一共有多少種對應的方法。錯排題,從0開始列舉到n 2,即表示有0個人的名字與人對應是錯的 1個人的名字與本人的對應是錯的 兩個人的名字與本人的對應是錯的 2 這裡用乙個組合就可以了,要注意的是求組合的...