hdu 2200

说起来真惭愧,这题刚开始看没什么思路,然后也没怎么仔细想就直接看别人思路了。

思路是这样的:在n个人中找m个人,然后就变成了插板问题。

代码如下:

#include"stdio.h"

__int64 cal(__int64 m,__int64 n)
{
    __int64 s=1,i;
    for(i=1;i<=m;i++)
        s=s*(n-i+1)/i;
    return s;
}


int main( )
{
    __int64 n,sum,i;
    while(~scanf("%I64d",&n))
    {
        sum=0;
        for(i=2;i<=n;i++)
            sum+=(i-1)*cal(i,n);
        printf("%I64d\n",sum);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/chaosheng/p/2521604.html