hdu2068 RPG的错排 组合数/递推
Posted 奚政
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu2068 RPG的错排 组合数/递推相关的知识,希望对你有一定的参考价值。
1 #include<stdio.h>
2 long long arr[21];
3 long long c(int a,int b)
4 {
5 long long i,sum=1,j;
6 for (i=a,j=1;i>=a-b+1,j<=b;i--,j++) sum=sum*i/j;
7 return sum;
8 }
9 void func()
10 {
11 int i;
12 arr[1]=0;arr[2]=1;
13 for(i=3;i<=26;i++)
14 arr[i]=(i-1)*(arr[i-1]+arr[i-2]);
15 }
16 int main(){
17 int n;
18 while(scanf("%d",&n)!=EOF&&n!=0){
19 int h=n/2,i;
20 long long ans=0;
21 func();
22 for(i=2;i<=h;i++){
23 ans+=c(n,i)*arr[i];
24 //printf("%I64d %I64d\\n",c(n,i),arr[i]);
25 }
26
27 ans++;
28 printf("%I64d\\n",ans);
29 }
30 return 0;
31 }
以上是关于hdu2068 RPG的错排 组合数/递推的主要内容,如果未能解决你的问题,请参考以下文章