hdu 2049 不容易系列之(4)——考新郎

 在本博AC代码中,求CNM用的是Anm/amm没用阶乘的形式,两者皆可

#include <stdio.h>
int main(void)
{
    long long a,b,larr[21];
    int x,y,i,c,n,m;
    larr[1]=0;larr[2]=1;larr[3]=2;
    for(i=4; i<=20; i++)
        larr[i]=(larr[i-1]+larr[i-2])*(i-1);
    scanf("%d",&c);
    while(c--)
    {
        scanf("%d%d",&n,&m);
        a=b=1;x=n;y=m;
        for(i=m; i>=1; i--)
        {
            a*=x--;
            b*=y--;
        }
        printf("%lld\n",a/b*larr[m]);
    }
    return 0;
}

  错排知识参考:http://www.cnblogs.com/bo-tao/archive/2011/08/02/2124622.html

 

posted @ 2016-07-23 10:53  马丁黄瓜啊  阅读(336)  评论(0编辑  收藏  举报