码迷,mamicode.com
首页 > 其他好文 > 详细

hdoj 2049 错排

时间:2014-07-27 10:44:22      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

代码:

#include <stdio.h>

int main()
{
 int n,a,b,i,j;
 __int64 s[22],h[22];
 s[1]=0;
 s[2]=1;
 s[3]=2;
 for(i=4;i<21;i++)
 {
  s[i]=(i-1)*(s[i-1]+s[i-2]);
 }
    scanf("%d",&n);
 while(n--)
 {
    scanf("%d%d",&a,&b);
    h[0]=1;
     for(j=1;j<22;j++){
    h[j]=j*h[j-1];
     }
       printf("%I64d\n",h[a]/(h[a-b]*h[b])*s[b]);
 }
 return 0;
}

 C(a,b)*s[b]即可

hdoj 2049 错排

标签:

原文地址:http://www.cnblogs.com/weiyikang/p/3870735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!