HDU 1465 不容易系列之一【错排】
来源:互联网 发布:4g网络优化工程师前景 编辑:程序博客网 时间:2024/05/19 19:56
有个网名叫做8006的男性同学,结交网友无数,最近该同学玩起了浪漫,同时给n个网友每人写了一封信,这都没什么,要命的是,他竟然把所有的信都装错了信封!注意了,是全部装错哟!
现在的问题是:请帮可怜的8006同学计算一下,一共有多少种可能的错误方式呢?
Input
输入数据包含多个多个测试实例,每个测试实例占用一行,每行包含一个正整数n(1<n<=20),n表示8006的网友的人数。
Output
对于每行输入请输出可能的错误方式的数量,每个实例的输出占用一行。
Sample Input
2
3
Sample Output
1
现在的问题是:请帮可怜的8006同学计算一下,一共有多少种可能的错误方式呢?
Input
输入数据包含多个多个测试实例,每个测试实例占用一行,每行包含一个正整数n(1<n<=20),n表示8006的网友的人数。
Output
对于每行输入请输出可能的错误方式的数量,每个实例的输出占用一行。
Sample Input
2
3
Sample Output
1
2
装信封问题是典型的错排问题
错排公式:f(n)=(n-1)(f(n-1)+f(n-2))
经典的信封问题:
一个人写了9封不同的信及相应的9个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?
解题思路:
用A、B、C……表示写着n位友人名字的信封,a、b、c……表示n份相应的写好的信纸。把错装的总数为记作f(n)。假设把a错装进B里了,包含着这个错误的一切错装法分两类:
(1)b装入A里,这时每种错装的其余部分都与A、B、a、b 无关,应有f(n-2)种错装法。
(2)b装入A、B之外的一个信封,这时的装信工作实际是把(除a之外的) 份信纸b、c……装入(除B以外的)n-1个信封A、C……,显然这时装错的方法有f(n-1)种。
总之在a装入B的错误之下,共有错装法f(n-2)+f(n-1)种。a装入C,装入D……的n-2种错误之下,同样都有f(n-2)+f(n-1)种错装法,因此:
f(n)=(n-1)(f(n-1)+f(n-2))
#include <stdio.h>int main(){int n,i;__int64 a[21];a[1]=0;a[2]=1;for(i=3;i<21;i++)a[i]=(i-1)*(a[i-1]+a[i-2]);while( scanf("%d",&n) != EOF)printf("%I64d\n",a[n]);return 0;}
0 0
- HDU 1465 不容易系列之一【错排】
- HDU 1465 不容易系列之一【错排】
- HDU-不容易系列之一-错排公式
- [ACM] hdu 1465 不容易系列之一(错排复习)
- hdu-1465 不容易系列之一 【排错公式】
- hdu 1465 - 不容易系列之一(错排)
- hdu 1465 不容易系列之一(错排)
- HDU 1465 不容易系列之一(错排公式)
- hdu 1465 不容易系列之一(错排公式)
- HDOJ(HDU) 1465 不容易系列之一(错排)
- HDU 1465 不容易系列之一(错排公式)
- hdu 1465 不容易系列之一(错排模板)
- HDU 1465 不容易系列之一(错排公式推导)
- hdu 1465 不容易系列之一(递推。错排公式)
- HDU——1465不容易系列之一(错排公式)
- HDOJ 1465: 不容易系列之一(错排公式)
- 杭电 1465 不容易系列之一(错排公式)
- HDOJ 1465 不容易系列之一(错排公式)
- RFID学习(六)通讯协议概述
- bat 删除n天前的文件
- MyEclipse中光标不显示
- geoserver由windows迁移到linux64位系统
- mysql 取前几个值
- HDU 1465 不容易系列之一【错排】
- java nio
- 东哥内部讲话:赚三四十亿也叫赚钱?赚取千亿净利润才叫赚钱!
- Android如何检测输入法键盘是否显示
- POI.HSSF.util.HSSFColor中所有颜色索引
- linux命令:mv命令
- MVC 设计框架
- 最详细安卓ADT插件安装教程
- jQuery学习总结四 --- 功能性表格的开发