省赛来了 时间限制:1000 ms | 内存限制:65535 KB 难度:2
-
描述
一年一度的河南省程序设计大赛又要来了。
竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名。
现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式。
(题目保证m%n等于0,所有数据不超出int范围)
-
输入多组测试数据,以EOF结束。
每组测试数据输入两个整数m,n。
-
输出对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束之后输入一个换行符。
-
样例输入
4 2
-
样例输出
6
组合问题!
AC码:
#include
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;
}
|