题目描述
上周周赛结束了,每个同学都有一个排名,且不存在并列情况
zks在统计协会周赛排名的时候,意外的将一部分同学排名统计错了。
请问,zks将所有同学排名都统计错误的情况有多少种?
输入
第一行输入为一个整数n,代表有n名同学
1≤n≤15
输出
所有同学排名都统计错误的情况数量
样例输入 Copy
3
样例输出 Copy
2
错排
#include<bits/stdc++.h>
using namespace std;
long long d[31];
int main(){
d[1]=0,d[2]=1;
for(int i=3;i<=30;i++){
d[i]=(i-1)*(d[i-1]+d[i-2]);
}
int n;
scanf("%d",&n);
printf("%lld",d[n]);
}