博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2068 RPG的错排
阅读量:4957 次
发布时间:2019-06-12

本文共 593 字,大约阅读时间需要 1 分钟。

题目链接:

此题考查错排公式,组合数运算,正确的数目用组合,错误的情况用错排。

错排公式为:F(n)=(n-1)*(F(n-1)+F(n-2));

F(1)=0;F(2)=1;……

AC 代码为:

#include
using namespace std;__int64 a[13]={
0,0,1};//只需要定义到a[13]即可,因为最大为25void fun(){ for(int i=3;i<=12;i++) a[i]=(i-1)*(a[i-1]+a[i-2]); }int cnm(int n,int m){ int s=1; for(int i=1;i<=m;i++) s=s*(n--)/i; return s;}int main(){ //freopen("d:\\1.txt","r",stdin); fun(); int n; while(scanf("%d",&n)!=EOF&&n) { __int64 s=0; //__int64类型 if(n<=3)cout<<1<

 

 

转载于:https://www.cnblogs.com/hsqdboke/archive/2012/05/04/2483145.html

你可能感兴趣的文章