博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对错排认识。
阅读量:4706 次
发布时间:2019-06-10

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

  错排,意思就是原来有一个n个元素的排列,现在要打乱它们的顺序,使每个元素都不在原来的位置,一共有多少种可能。

  因为刚开始接触的时候没听懂,然后看一个例子后才理解的差不多的,所以我就按放书这个例子来谈下。

 

  首先,假设有n本书,我们取一本书,书的编号为m,同时这本书位置也是m,现在,我不能把书放到位置m,只能在剩下的n-1个位置中选择一个位置,所以错排操作数有D(n-1)种,现在我们假设将书放在位置k,那么位置k上的书我们就要拿出来,所以现在我们又要讲书k放到其他位置上,而现在问题来了,因为位置m是空的,所以我们有两种选择,    第一  :将书k放到位置m上,这样的话就相当于交换了k和m的位置,那么,还剩下n-2个位置,就相当于回到原点,重新取书再排列,此时求n-2本的错排操作数D(n-2),结合第一步,有n-1*(D(n-2))种方法。   第二  :不将书k放到位置吗m上,我们还要将手里这本和剩下的n-2本,也就是n-1本,同时又要求手里这本k还不能放到位置m,这就相当于把手里这本加上剩下的n-2本也就是n-1本书进行错排,所以有n-1*(D(n-1))种方法。综合这两种情况,最后结果就是n-1*(D(n-2)+D(n-1));

 

 

话不多数,上题!!!

 

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

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

看来做新郎也不是容易的,假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.

Input

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

Output

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

Sample Input

22 23 2

Sample Output

13

 

 

 

#include 
using namespace std;int main(){ long long fact[30],num[30]; int i,n,m,t; 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;}

  

  以上表述若有错误,欢迎批评指正。。。。。(当然,我也不一定改。、。、)

 

转载于:https://www.cnblogs.com/clb123/p/10106025.html

你可能感兴趣的文章
关于南京市智慧教育基础平台市区协同推进项目申报工作的通知
查看>>
数据结构-静态链表
查看>>
【Unity游戏开发】你真的了解UGUI中的IPointerClickHandler吗?
查看>>
线性求逆元模板
查看>>
线段树练习3 codevs1082
查看>>
Mysql 复制的常用拓扑结构概览
查看>>
ECSHOP中 {insert name='ads' id=$ads_id num=$ads_num}含义
查看>>
SQLite3 安装、基本操作
查看>>
MSIL解析一(转)
查看>>
redis-cluster
查看>>
eclipse常用快捷键整理
查看>>
android context详解
查看>>
Android 4.4 外置卡
查看>>
Lua 模块引入中 import 和 require 的差异
查看>>
js模块加载详解
查看>>
.net别样外观控件包DotNetBar
查看>>
C++ 对象间通信框架 V2.0 ××××××× 之(二)
查看>>
js禁止原生手机返回键(物理返回键)
查看>>
接口测试的两种方法(转自 http://www.blogjava.net/qileilove/archive/2012/05/31/379631.html )...
查看>>
20172328《程序设计与数据结构》第七周学习总结
查看>>