省赛来了
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
一年一度的河南省程序设计大赛又要来了。
竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名。
现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式。
(题目保证m%n等于0,所有数据不超出int范围)
-
输入
-
多组测试数据,以EOF结束。
每组测试数据输入两个整数m,n。
输出
-
对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束之后输入一个换行符。
样例输入
-
4 2
样例输出
-
6
来源
- NYIST校赛选拔赛 上传者
思路:这样想 从4个里面选2个 再从剩下的里面选2个
C(4,2) +C(2,2) 一直把人选完
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int ac(int n) { if(n==1||n==0) return 1; return n*ac(n-1); } int main() { int a,b; while(cin>>a>>b) { int t=a/b; int n=a; int sum=1; int cnt; // cout<<t<<endl; while(t--) { cnt=(ac(n)/(ac(b)*ac(n-b))); sum*=cnt; n-=b; } cout<<sum%2013<<endl; } }
-
多组测试数据,以EOF结束。