HDU 1465 不容易系列之一(找规律)
2015-06-05 18:46
239 查看
http://http://acm.hdu.edu.cn/showproblem.php?pid=1465
装错信封问题
这个问题是由 18 世纪初的法国数学家蒙摩提出来的。
瑞士数学家欧拉按一般情况给出了一个递推公式
A,B表示信,a,b表示信封,假设一共有n个信封,用f
记录n个信封装错的种数
首先针对其中的两个信封进行讨论
假设A装进了b,在这个大前提下
1、如果B装进了a,那么此时装错信封有f[ n-2 ]种
2、如果B没有装进a,那么此时装错信封就有f[ n-1 ]种
那么我们就能得出一个递推式
f[ n ] = (n-1)(f[ n-2 ]+f[ n-1 ])
装错信封问题
这个问题是由 18 世纪初的法国数学家蒙摩提出来的。
瑞士数学家欧拉按一般情况给出了一个递推公式
A,B表示信,a,b表示信封,假设一共有n个信封,用f
记录n个信封装错的种数
首先针对其中的两个信封进行讨论
假设A装进了b,在这个大前提下
1、如果B装进了a,那么此时装错信封有f[ n-2 ]种
2、如果B没有装进a,那么此时装错信封就有f[ n-1 ]种
那么我们就能得出一个递推式
f[ n ] = (n-1)(f[ n-2 ]+f[ n-1 ])
#include <iostream> using namespace std; __int64 f[25]; void init() { f[2] = 1; f[3] = 2; for(int i=4;i<=20;i++) { f[i] = (i-1)*(f[i-1]+f[i-2]); } } int main() { int n; init(); while(cin>>n) { cout<<f <<endl; } return 0; }
相关文章推荐
- Python问题记录:如何处理中文网页中的多余空格
- LINUX性能调优方法总结
- DAL.SQLHelper的类型初始值设定项引发异常
- role of social media in consumption
- 精细化运营 打造王牌产品的必修课
- DDoS deflate的安装使用
- 面试分享(三)-------杭州铭师堂教育科技发展有限公司-高级java开发
- 百度地图的路线规划
- 企业如何将数据运营“废土”为“黄金”
- 数据挖掘过程中,不能碰的禁区
- nginx防盗链
- redis三部曲之――――密码管理
- 解决 xampp phpmyadmin结构一直加载的问题
- 解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题
- python django模型内部类meta详解
- LightOJ - 1265 Island of Survival 期望
- php扩展获取_ENV、_SERVER时踩到的坑。
- 使用servlet进行web开发
- linux ----打包压缩tar -zcvf 文件名.tar.gz 目录
- IO类:转换流