题目描述 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
代码:(此题应用高精度加动归方程求解,代码中未加高精度运算)
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,f[110];
int dp(int i)
{
if(i==1) return f[1];
if(i==2) return f[2];
else return f[i]=(i-1)*(dp(i-1)+dp(i-2));
}
int main()
{
scanf("%d",&n);
f[1]=0;f[2]=1;
printf("%d",dp(n));
return 0;
}