国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HDU2049 不容易系列之(4)——考新郎

2019-11-14 12:28:54
字體:
來源:轉載
供稿:網友

國慶期間,省城HZ剛剛舉行了一場盛大的集體婚礼,為了使婚礼進行的豐富一些,司儀臨時想出了有一個有意思的節目,叫做"考新郎",具體的操作是這樣的:首先,給每位新娘打扮得幾乎一模一樣,并蓋上大大的紅蓋頭隨機坐成一排;然后,讓各位新郎尋找自己的新娘.每人只準找一個,并且不允許多人找一個.最后,揭開蓋頭,如果找錯了對象就要當眾跪搓衣板...看來做新郎也不是容易的事情...假設一共有N對新婚夫婦,其中有M個新郎找錯了新娘,求發生這種情況一共有多少種可能. Input輸入數據的第一行是一個整數C,表示測試實例的個數,然后是C行數據,每行包含兩個整數N和M(1<M<=N<=20)。 Output對于每個測試實例,請輸出一共有多少種發生這種情況的可能,每個實例的輸出占一行。 Sample Input
22 23 2 Sample Output
13

根據題目的描述,可以看出根據排列組合與錯排求出遞推公式。

錯排公式:f(n)=(n-1)*(f(n-1)+f(n-2))

排列組合數乘以錯排結果就可以。

關于錯排:http://blog.csdn.net/aianswer3/article/details/54860993

AC代碼:

#include <stdio.h>#include <stdlib.h>int main(){    int t,n,m,i;    long long fact[30],num[30];    scanf("%d",&t);    num[1]=0;num[2]=1;    fact[0]=1;fact[1]=1;fact[2]=2;    for(i=3;i<25;i++)    {        num[i]=(i-1)*(num[i-1]+num[i-2]);    }    for(i=3;i<25;i++)    {        fact[i]=fact[i-1]*i;    }    while(t--)    {        scanf("%d%d",&n,&m);        PRintf("%lld/n",num[m]*(fact[n]/fact[m]/fact[n-m]));    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凌云县| 镇远县| 交口县| 荆门市| 平昌县| 临高县| 新巴尔虎右旗| 来凤县| 耒阳市| 汶川县| 鄂州市| 巴彦县| 晋宁县| 辽中县| 淮北市| 清镇市| 涟水县| 邻水| 临漳县| 马边| 贵州省| 石楼县| 交口县| 呼伦贝尔市| 开封市| 龙口市| 新建县| 东兴市| 溆浦县| 会昌县| 中阳县| 恭城| 益阳市| 白沙| 闽清县| 韩城市| 新密市| 四川省| 青河县| 安国市| 成安县|