首页 > 代码库 > 杭电2049错排

杭电2049错排

 1 #include<stdio.h> 2 int c(int n,int m) 3 { 4     if(m==0||n==m) 5         return 1; 6     else 7         return c(n-1,m)+c(n-1,m-1); 8 } 9 10 int main()11 {12     int  t,i,n,m;13     __int64 p[50];14     p[1]=0;p[2]=1;15         for(i=3;i<21;i++)16             p[i]=(i-1)*(p[i-2]+p[i-1]);                   17     scanf("%d",&t);18     while(t--)19     {20         scanf("%d%d",&n,&m);21         printf("%I64d\n",c(n,m)*p[m]);22     23     }24     return 0;25 }

 

杭电2049错排