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

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

Input

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

Output

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

Sample Input

2 2 2 3 2

Sample Output

1 3

这道题用了组合数学知识,注意两点:

①错排公式:D(N)=(N-1)(D(N-1)+D(N-2))

代码如下:

#include <iostream>
#include <cstdio>
using namespace std;
int main(){int c;int m, n;long long a[25];long long sum1, sum2,sum;cin >> c;while (c--){sum1 = 1;sum2 = 1;sum = 0;cin >> n >> m;if(n == m) sum = 1;else{for (int i = n - m + 1; i <= n; i++) sum1 *= i;for (int i = 1; i <= m; i++) sum2 *= i;sum = sum1 / sum2;}a[0] = 0;a[1] = 0;a[2] = 1;for (int j = 3; j <= m; j++)a[j] = (j - 1)*(a[j - 2] + a[j - 1]);cout << sum*a[m] << endl;}return 0;
}

转载于:https://www.cnblogs.com/jianqiao123/p/11262861.html

HDU2049 不容易系列之(4)——考新郎相关推荐

  1. HDU2049 不容易系列之(4)——考新郎【递推】

    不容易系列之(4)--考新郎 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

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

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

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

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 Problem Description 国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚 ...

  4. V - 不容易系列之(4)――考新郎(第二季水)

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

  5. HDU - 2049 不容易系列之(4)——考新郎(错排问题+组合数学)

    题目链接:点击查看 题目大意:有n对新婚夫妇,有m个新郎找错了新娘,问发生这种情况的可能 题目分析:匹配错误问题可以类比于全错排问题,这里插眼放一个讲的不错的博客: https://blog.csdn ...

  6. HDU 2049 不容易系列之(4)——考新郎( 错排 )

    链接:传送门 思路:错排水题,从N个人中选出M个人进行错排,即 C(n,m)*d[m] 补充:组合数C(n,m)能用double计算吗?第二部分有解释 Part 1. 分别求出来组合数的分子和分母然后 ...

  7. HDUOJ 不容易系列之(4)——考新郎

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2049 一开始我的想法就是使用错排公式,先使用全排列从N对中选出M对,然后再使用错排对选出的M对进行错排计 ...

  8. hdu 2049 不容易系列之(4)——考新郎 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 写这篇解题报告时 我真的很气愤 对自己又一次犯下低级错误改了两个小时 int型的数据居然用%I6 ...

  9. hdu 2049 不容易系列之(4)——考新郎

    在本博AC代码中,求CNM用的是Anm/amm没用阶乘的形式,两者皆可 #include <stdio.h> int main(void) {long long a,b,larr[21]; ...

最新文章

  1. .net 开发人员当前必须掌握的技术
  2. 落地三大产业,深耕两个领域,百度AI的这一年|李彦宏乌镇行
  3. Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP
  4. 算法--三种方法求连续子数组的最大和
  5. UIDevice通知,键盘通知
  6. boost::statechart模块实现类型信息测试
  7. Python编程从入门到实践~操作列表~创建数值列表
  8. 罗马仕php30重量,充电宝多少毫安最好?这3款罗马仕充电宝必须收藏
  9. 李志民:只修长城不会有真正的安全
  10. 基于神经网络的实体识别和关系抽取联合学习
  11. HTML一片空白, 无法渲染: Empty tag doesn't work in some browsers
  12. 三级计算机等级2021年9月考试准考证下载步骤
  13. IPTV软件提取后无法安装:显示安装失败,需求的共享用户签名错误!请大神帮助,谢谢
  14. 多目标布谷鸟(MOCS)优化算法附Matlab代码
  15. 松翰单片机操作日记SN8F5721(同步串口)
  16. 北京双线机房的优缺点分析
  17. Navicat for MySQL的使用
  18. pr值高的域名对网站有什么价值?
  19. 想要学习嵌入式开发选择教程哪家好?
  20. 联想Yoga 13s重装系统

热门文章

  1. 委托与事件代码详解与(Object sender,EventArgs e)详解
  2. python怎么导入包-python模块之导入包及模块发布
  3. python自学时间-学习Python、Python时间操作有哪些?
  4. python语言编程入门先学什么-自学编程入门,先学什么语言好?
  5. python爬虫入门代码-如何开始写你的第一个爬虫脚本——简单爬虫入门!
  6. python代码大全表解释-【初学】Python异常代码含义对照表
  7. python什么时候进入中国-python什么时候发明的
  8. monty python flying circus-巨蟒剧团之飞翔的马戏团 第1季
  9. python代码格式-Python代码格式PEP8
  10. python3.8安装pip-MAC本安装python3.8后,pip3命令无法更新问题