南洋理工ACM 158省赛来了

省赛来了

时间限制: 1000 ms  |  内存限制: 65535 KB
难度:2
描述

一年一度的河南省程序设计大赛又要来了。

竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名。

现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式。

(题目保证m%n等于0,所有数据不超出int范围)

输入
多组测试数据,以EOF结束。
每组测试数据输入两个整数m,n。
输出
对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束之后输入一个换行符。
样例输入
4 2
样例输出
6
来源
NYIST校赛选拔赛
上传者

ACM_丁国强

//在m个人中随机抽n个人 一直抽到 m的人数小于n不足组成一个队伍为止 如果m为4 n为2 则 C24*C22  如果m为5 n为2 则 C25*C23
# include 

int main (void)
{
    int m, n, num1, num2, t;
    while (scanf ("%d %d", &m, &n) != EOF)
    {
        t = 1;
        while((m/n)>1)
        {
            num1 = 1;
            num2 = 1;
            for (int i = 1; i <= n; i++)
                num1 *= i;
            for (int i = m; i >= m-n+1; i--)
                num2 *= i;
            t = t*(num2/num1)%2013;
            m-=n;
        }
        printf ("%d\n", t);

    }

    return 0;
}


你可能感兴趣的:(ACM)