题目描述

在一场盛大的集体婚礼中,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:

首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;
然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个. 
最后,揭开盖头,如果找错了对象就要当众跪搓衣板...

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

假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.

输入

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

输出

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

示例输入

2
2 2
3 2
#include <cstdio>
#include <iostream>
using namespace std;
long long f[22];
void init()//错排
{f[1]=0;f[2]=1;for(int i=3;i<=20;i++){f[i]=(i-1)*(f[i-1]+f[i-2]);}return ;
}int main(){int N,M;init();while(scanf("%d%d",&N,&M)!=EOF){int x=N,y=M;int sum=1,a=1,b=1;for(int i=1;i<=y;i++){a*=N;N--;}for(int i=1;i<=y;i++){b*=M;M--;}sum=a/b;cout<<sum*f[y]<<endl;}return 0;
} 

ctguoj--考新郎(排列组合+错排公式)相关推荐

  1. c语言 错排公式 程序,错排公式 错排(加组合)

    递推的方法推导错排公式 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一 ...

  2. 关于错排公式的推导与应用

    错排问题,又称更列问题,是组合数学中的问题之一.对于它的研究最早可以追溯到十八世纪,当时他被数学家尼古拉·伯努利和欧拉研究,因此在历史上也被称为伯努利--欧拉的错装信封问题.这个问题有许多具体的版本, ...

  3. c语言 错排公式 程序,错排公式的推导及应用

    同时发布在我的个人博客:https://hushhw.cn/posts/learn/15287.html 以下是原文: 之前就遇到过错排公式的题,但是自己没有注意这个知识点,以为只要硬记住就好啦,结果 ...

  4. HDU2049 组合数学 错排公式

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

  5. 浅谈错排公式的推导及应用

    近期学弟在HDU刷题时遇到了关于错排公式的一些问题,我作为过来人就写这篇博客来指导他们~~~ 错排的定义:一段序列中一共有n个元素,那么可知这些元素一共有n!种排列方法.假如在进行排列时,原来所有的元 ...

  6. 错排公式的理解与推导(转载)

    转自: ①:https://www.cnblogs.com/ECJTUACM-873284962/p/7620370.html ②:https://www.cnblogs.com/c129940122 ...

  7. 错排公式 ——递推与通项公式

    错排公式 一.定义: 错排问题,是组合数学中的问题之一.考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排. n个元素的错排数记为D(n).研 ...

  8. 数学知识--错排公式

    错排公式 核心递推公式: D(n) = (n-1) [D(n-2) + D(n-1)] 特殊地,D(1) = 0, D(2) = 1. 问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放 ...

  9. c语言 错排公式 程序,错排公式详解

    在HDU刷题时遇到了关于错排公式的一些问题.本篇文章将详细解释错排公式的推导过程. 错排的定义:一段序列中一共有n个元素,那么可知这些元素一共有n!种排列方法.假如在进行排列时,原来所有的元素都不在原 ...

  10. c语言错排公式编程,错排公式1到5

    错排问题,是组合数学中的问题之一.考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排. n个元素的错排数记为D(n). 研究一个排列错排个数的 ...

最新文章

  1. 双非高校浙工大,一年2项研究上Nature,校友纷纷打Call:欠一个211名头
  2. linux系统报错01031,在Linux环境下设置 ora-01031:insufficient privileges解决方法总结
  3. SAP 批量扩充会计和成本视图
  4. 02/03_Pytorch安装、Conda安装Pythorch,换源、pytorch官网、验证、安装jupyter、卸载、安装、启动jupyter、配置Jupyter notebook、使用
  5. asp.net core中负载均衡场景下http重定向https的问题
  6. django xadmin出现的问题
  7. Swift中的闭包例子
  8. linux手动安装mysql8.16,MySQL8.0.16-linux-x64安装介绍(binary package)
  9. Cisco 2960交换机配置
  10. PHP 面向对象的简单介绍
  11. sql_存储过程、函数、分支、循环
  12. 百度文库下载器 V2.3.4.3 支持豆丁百度文库道客巴巴
  13. e680 reboot的研究
  14. 【图像分割】基于matlab最大类间方差法(otsu)图像分割【含Matlab源码 121期】
  15. 设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为
  16. 一些实用网址 ubuntu截图+屏蔽一些网址+windows7+ubuntu双系统+泰语打字练习
  17. signature=4a882a48c4a4b2b41835e11b6fafa69f,ABB 38SC980002R375
  18. React Concurrent Mode 之 Suspense 实践
  19. 热爱可抵岁月漫长,温柔可挡艰难时光—2020年终总结
  20. 不服就GAN:GAN网络生成 cifar10 的图片实例(keras 详细实现步骤),GAN 的训练的各种技巧总结,GAN的注意事项和大坑汇总

热门文章

  1. xtrabackup备份mysql数据库
  2. in-band(带内) and out-of-band(带外) management
  3. python基础之列表生成式和生成器
  4. 在freemarker文件中,html标签获取后台的值
  5. 关于Winform下,获取Treeview中CheckBox选中项的“.NET研究”技巧
  6. 判断linux下的网络服务是否正常启动
  7. matlab 中 x 轴的各种设置
  8. 【】oracle当前用户下有什么表?
  9. 使用Supervisor让你的Swift Perfect服务器项目后台运行
  10. 五种 必须了解的CSS选择器