今年暑假杭電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輸入結束。
output11
sample input12
0sample output11
分析,將選對問題轉成選錯問題,即錯排問題,則變成最多不能選錯超過一半,可變成選錯1個,2個,。。。n/2,利用錯排和組合結合求出各個情況的方式數,加起來即為所求。
ac**
#include#include#include using namespace std;
long long p[40] = ;
long long a[40];
void asd()//錯排公式
}void ask(int n)//記錄組合數
}int main()
sum = 1;
if (n % 2)c =n- n / 2 -1;
else c = n-n / 2;
asd();
ask(n);
for (int i = 2; i <= c; i++)
cout << sum << endl;
}}
hdu 2068 錯排 組合
problem description 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r是草兒,p是公主...
HDU 2068(錯排公式)
time limit1000 ms memory limit32768 kb oswindowssource rpg專場練習賽 題目 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主...
hdu2068 hdu 2049 錯排組合
這部分涉及的知識為組合數和錯排 參考 比較簡單 hdu2068 include include int64 c int n,int m 組合數公式 return u d main sum for i 3 i 13 i f i i 1 f i 1 f i 2 while scanf d n n 另一題...