NYOJ 912 领帽子

链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=912

 

全错位排列,按照欧拉给出的递推公式:f(n)=(n-1) {f(n-1)+f(n-2)}

 

#include <iostream>
using namespace std;
int main()
{
	long long a[20];
	a[1]=0;
	a[2]=1;
	int t;
	for(int i=3;i<=15;i++)
		a[i]=(i-1)*(a[i-1]+a[i-2]);
	while(cin>>t)
		cout<<a[t]<<endl;
	return 0;
}


 

你可能感兴趣的:(OJ)