[CODEVS1697]⑨要写信
2015-11-04 20:29
197 查看
题目描述 Description
琪露诺(冰之妖精)有操控冷气的能力。能瞬间冻结小东西,比普通的妖精更危险。一直在释放冷气的她周围总是非常寒冷。由于以下三点原因……
琪露诺的符卡 冰符“Icicle Fall”-Easy的弹幕有够蠢的,只要站在她的正前方就没任何弹幕会碰到你;
ZUN在《红魔乡》中介绍她时已经说她有点笨笨的了;
在ZUN放出《东方花映冢》的介绍图时,在图中把琪露诺放在了⑨的位置上,并以“⑨笨蛋”简单带过,从此“⑨”及“笨蛋”就成为她的别名了……
所以琪露诺便得到了“笨蛋”的别称。
某日,琪露诺又2了……
她写了N封信要装到N个信封里面,却全都装错了……现在想知道有多少种装错的可能性。
输入描述 Input Description
信和信封的数量N。输出描述 Output Description
装错的可能性的数量。样例输入 Sample Input
输入样例1 2 |
输入样例2 4 |
样例输出 Sample Output
输出样例1 1 |
输出样例2 9 |
数据范围及提示 Data Size & Hint
1≤N≤100思路
错排通项经典好题。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。
f[1]=0;f[2]=1;
f
=(n-1)(f[n-2) + f[n-1])
f
:=n![1-1/1!+1/2!-1/3!……+(-1)^n*1/n!]
f
= (n!/e+0.5),其中e是自然对数的底,[x]为x的整数部分。
var n,i:longint; f:array[1..100000] of qword; begin readln(n); f[1]:=0;f[2]:=1; for i:=3 to n do f[i]:=(i-1)*(f[i-2]+f[i-1]); writeln(f ); end.
View Code
这是过不了滴,自己加高精的吧,啊哈哈哈哈哈哈哈哈哈\(^o^)/~
相关文章推荐
- 【PAT】1049. Counting Ones (30)
- 不少程序员都会碰到的三个面试题
- 强联通分量-tarjan
- Palindrome Partitioning I,II(DFS,DP)
- LeetCode Rotate Image (模拟)
- JavaScript设计模式学习之单例模式
- JS学习笔记(04)—— (事件)
- iOS开发中的collectionView
- JS中判断数组中是否包含某个元素indexof兼容性兼容性
- verilog常用系统函数以及例子
- 股票中带有ST和*ST的股票是什么意思啊?一图了解新三板与主板、中小板、创业板制度差异!
- 【UML】 之 状态图 & 活动图
- EhCache JGroups 集群模式
- 表的两种连接方式
- 数据库优化:优化查询
- ios笔记--oc语法2 (KVC)
- Jacoco远程统计代码覆盖率
- EhCache RMI 集群模式
- leetcode 43:Multiply Strings
- Android 开启服务Service