hdu1465(错排)

来源:互联网 发布:文明太空潮起mac 编辑:程序博客网 时间:2024/06/06 17:39

题目分析:

可以自己看题目,装错信封的种类

http://acm.hdu.edu.cn/showproblem.php?pid=1465


题目分析:

直接错排公式


AC代码:

/**
 *f[n]=(n-1)*(f[n-1]+f[n-2])错排
 *第i个人不能占自己的位置,共有n-1中选择,对于下一个
 *人,
 */
#include<iostream>
using namespace std;
long long a[22];
int main()
{
    a[1]=0; a[2]=1;
    for(int i=3;i<=20;i++){
        a[i]=(i-1)*(a[i-1]+a[i-2]);
    }
    int n;
    while(cin>>n) cout<<a[n]<<endl;
    return 0;
}


0 0
原创粉丝点击