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

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

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

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

國慶期間,省城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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威信县| 上蔡县| 周宁县| 九江县| 吉隆县| 柘城县| 全州县| 乐山市| 昔阳县| 利辛县| 马关县| 哈密市| 苍山县| 壤塘县| 布尔津县| 西林县| 湄潭县| 吉木乃县| 渝中区| 大宁县| 久治县| 冀州市| 沙雅县| 永宁县| 昌乐县| 宜兰县| 辽阳县| 湘潭县| 镇宁| 鸡泽县| 新化县| 宁陵县| 浦城县| 红原县| 独山县| 临武县| 鹤峰县| 岳阳县| 晋宁县| 光泽县| 高清|