ACM_递推题目系列之二认错人

递推题目系列之二认错人

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

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

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

Input:

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

Output:

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

Sample Input:

3
3 2
5 3
6 2

Sample Output:

3
20
15解题思路:简单组合+错排!!!AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 LL C(int n,int m){
 5     LL ans=1;
 6     for(int i=1;i<=m;++i)
 7         ans=ans*(n-i+1)/i;
 8     return ans;
 9 }
10 int main(){
11     LL a[21]={0,0,1};
12     for(int i=3;i<21;i++)
13         a[i]=(i-1)*(a[i-1]+a[i-2]);
14     int c,n,m;
15     cin>>c;
16     while(c--){
17         cin>>n>>m;
18         cout<<(C(n,m)*a[m])<<endl;
19     }
20     return 0;
21 }
 

原文地址:https://www.cnblogs.com/acgoto/p/8987876.html

时间: 2024-11-13 12:43:16

ACM_递推题目系列之二认错人的相关文章

ACM_递推题目系列之一涂色问题

递推题目系列之一涂色问题 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有排成一行的n个方格,用红(Red).粉(Pink).绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法. Input: 输入数据包含多个测试实例,每个测试实例占一行,由一个整数N组成,(0<n<=50). Output: 对于每个测试实例,请输出全部的满足要求的涂法,每个实例的输出占一行

uva live 4123 Glenbow Museum 数学递推

// uva live 4123 Glenbow Museum 数学递推 // // 题目大意: // // 对于一个边平行于坐标轴的多边形,我们可以用一个序列来描述,R和O,R表示 // 该顶点的角度为90度,O表示该定点的角度为270.给定序列的长度.问能由这些RO序 // 列组成的星型多边形(内部存在一个点可以看到所有的节点的多边形)的方法数有多少. // // 解题思路: // // 顶点数一定是序列的长度.n小于4无法组成多边形.n为奇数的时候也不行.设R的个数有 // x个,O的个数

递推DP HDOJ 5459 Jesus Is Here

题目传送门 题意:简单来说就是sn = sn-1 + sn-2递推而来,求其中所有c字符的:∑i<j:sn[i..i+2]=sn[j..j+2]=‘‘cff"(j−i) mod 530600414 分析:一开始觉得很难下手,类似于斐波那契数列,最后的数字会很大,不能正常求解.想到试试打表找规律,结果并没有找到什么规律...最后也没想出什么来.赛后才恍然大悟,这是递推题,拿来别人的思路: 串长度len,串中字符c的个数num,串中所有字符c的位置之和sum,串中所有字符c之间的距离之和ans

uva11258- String Partition(递推)

题目:uva11258- String Partition(递推) 题目大意:给出一系列的数字,它是由很多int型的数构成的,就是中间没有加空格.所以现在问怎样拆分这些数,使得这些数之和最大. 解题思路:这里要求是int型的整数,单个数的最大的值2147483647.dp[i][j]代表这个数字串第i个字符到第j个字符能够得到的最大的和. dp[i][j] = max(dp[i][i + k] + dp[i + k + 1][j]) k >= 0 && k <= j - i -

UVA 12034 Race (递推神马的)

Disky and Sooma, two of the biggest mega minds of Bangladesh went to a far country. They ate, coded and wandered around, even in their holidays. They passed several months in this way. But everything has an end. A holy person, Munsiji came into their

折线分割平面(图形递推题)

hdu 折线分割平面 (2050) Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示. Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(n大于0且n<=10000),表示折线的数量. Output 对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行. Samp

递推(一):递推法的基本思想

所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果.其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定. 利用递推算法求问题规模为n的解的基本思想是:当n=1时,解或为已知,或能非常方便地求得:通过采用递推法构造算法的递推性质,能从已求得的规模为1.2.….i−1的一系列解,构造出问题规模为i的解.这样,程序可从i=0或i=1出发,重复地由已知至i−1规模的解,通过递推,获得规模为i的解,直至获得规模为n的解. 可用递推算法求解的问题一般有

LG4723 【模板】常系数齐次线性递推

P4723 [模板]常系数齐次线性递推 题目描述 求一个满足$k$阶齐次线性递推数列${a_i}$的第$n$项. 即:$a_n=\sum\limits_{i=1}^{k}f_i \times a_{n-i}$ 输入输出格式 输入格式: 第一行两个数$n$,$k$,如题面所述. 第二行$k$个数,表示$f_1 \ f_2 \ \cdots \ f_k$ 第三行$k$个数,表示$a_0 \ a_1 \ \cdots \ a_{k-1}$ 输出格式: 一个数,表示 $a_n \% 998244353$

hdu2045 不容易系列三——LELE的RPG难题 (递推方程)

本文出自:blog.csdn.net/svitter 原题:http://acm.hdu.edu.cn/showproblem.php?pid=2045 题意:中文不用我说了吧. 这个题目的关键就在于递推方程--以及错误的测试数据 首先这个题目就是简单的置换群着色问题-- 去除了反转的问题,难一点的大家可以看P197(离散数学,高等教育出版社) 我在做这个题目的时候首先被f [ 1 ]  = 3 困扰了..拜托,根本不符合题意好吗- =一个格子能说是首尾颜色不同吗? 后来写错了递推方程--f [