博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2049 不容易系列之(4)——考新郎
阅读量:3903 次
发布时间:2019-05-23

本文共 942 字,大约阅读时间需要 3 分钟。

Problem Description

国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:

首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;
然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.
最后,揭开盖头,如果找错了对象就要当众跪搓衣板...
看来做新郎也不是容易的事情...
假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.

 

 

Input

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C行数据,每行包含两个整数N和M(1<M<=N<=20)。

 

 

Output

对于每个测试实例,请输出一共有多少种发生这种情况的可能,每个实例的输出占一行。

 

 

Sample Input

 

2 2 2 3 2

 

 

Sample Output

 

1 3

 组合数+错排公式。。。

代码如下:

#include 
#include
#include
#include
using namespace std;const int maxn=25;int t;int n,m;long long int dp[maxn];long long int zuhe (){ long long int a=1,b=1; for (int i=n;i>=m+1;i--) a*=i; for (int i=1;i<=n-m;i++) b*=i; return a/b;}int main(){ dp[1]=0; dp[2]=1; for (int i=3;i<=20;i++) dp[i]=(i-1)*(dp[i-1]+dp[i-2]); scanf("%d",&t); while (t--) { scanf("%d%d",&n,&m); printf("%lld\n",dp[m]*zuhe()); } return 0;}

 

转载地址:http://axaen.baihongyu.com/

你可能感兴趣的文章
eclipse运行时弹出提示java was started but returned exit code=13
查看>>
MATLAB鼠标选取ROC区域
查看>>
MFC按键控制
查看>>
google play app下载方法测试
查看>>
STM32利用FATFS读写数组
查看>>
Altium_Designer如何快速寻找元件和封装
查看>>
PCB各层介绍和AltiumDesigner画PCB时的规则设置
查看>>
char*,const char*和string 三者转换
查看>>
[PADS经验] 【图文并茂】教你如何使用Altium Designer画封装
查看>>
Altium Designer 教程
查看>>
字符串与数字转换方法
查看>>
利用Inoreader跟踪ScienceDirect最新文献教程
查看>>
VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
查看>>
STM32下SPI模式通过MAX7219驱动8位数码管显示模块
查看>>
目标检测的图像特征提取之(一)HOG特征
查看>>
web前端开发分享-css,js工具篇
查看>>
jQuery 学习笔记(未完待续)
查看>>
如何用万用表检测MOS管是好是坏?
查看>>
LabWindows/CVI入门之第一章:LabWindows/CVI开发环境
查看>>
LabWindows/CVI入门之第二章:GUI开发
查看>>