日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2025/3/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDOJ 2049 不容易系列之(4)——考新郎 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2049



Problem Description 國慶期間,省城HZ剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有一個有意思的節(jié)目,叫做"考新郎",具體的操作是這樣的:


首先,給每位新娘打扮得幾乎一模一樣,并蓋上大大的紅蓋頭隨機坐成一排;
然后,讓各位新郎尋找自己的新娘.每人只準找一個,并且不允許多人找一個.
最后,揭開蓋頭,如果找錯了對象就要當眾跪搓衣板...

看來做新郎也不是容易的事情...

假設一共有N對新婚夫婦,其中有M個新郎找錯了新娘,求發(fā)生這種情況一共有多少種可能.

Input 輸入數(shù)據(jù)的第一行是一個整數(shù)C,表示測試實例的個數(shù),然后是C行數(shù)據(jù),每行包含兩個整數(shù)N和M(1<M<=N<=20)。

Output 對于每個測試實例,請輸出一共有多少種發(fā)生這種情況的可能,每個實例的輸出占一行。

Sample Input 2 2 2 3 2
Sample Output 1 3


思路:組合+錯排公式

組合公式

?

錯排公式:f[i]=(i-1)*(f[i-1]+f[i-2]) (f[1]=0; f[2]=1;)

#include<stdio.h> #include<string.h> #include<stdlib.h>long long f[25];long long C(int n,int m) //組合公式 {int i;long long sum1,sum2;sum1=sum2=1;for(i=n;i>=(m+1);i--)sum1*=i;for(i=1;i<=(n-m);i++)sum2*=i;return sum1/sum2; }int main() {int n,m,t;long long ans;f[1]=0;f[2]=1;for(i=3;i<=20;i++) //錯排f[i]=(i-1)*(f[i-1]+f[i-2]);//scanf("%d",&t);while(scanf("%d%d",&n,&m)!=EOF){//scanf("%d%d",&n,&m);ans=C(n,m)*f[m];printf("%lld\n",ans);}return 0; }


總結

以上是生活随笔為你收集整理的HDOJ 2049 不容易系列之(4)——考新郎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。