首页 > 代码库 > NYOJ 158 省赛来了

NYOJ 158 省赛来了

省赛来了

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

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

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

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

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

输入
多组测试数据,以EOF结束。
每组测试数据输入两个整数m,n。
输出
对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束之后输入一个换行符。
样例输入
4 2
样例输出
6
组合问题!
AC码:
#include<stdio.h>
int C(int m,int n)
{
	int cm=1,cn=1,i;
	for(i=2;i<=n;i++)
		cn*=i;
	for(i=m-n+1;i<=m;i++)
		cm*=i;
	return cm/cn;
}
int main()
{
	int m,n;
	while(~scanf("%d%d",&m,&n))
	{
		int res=1;
		while((m/n)>1)
		{
			res=res*C(m,n)%2013;
			m-=n;
		}
		printf("%d\n",res);
	}
	return 0;
}