HDU 2519新生パーティー【組み合わせ数】
1054 ワード
新入生の夕べ
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17307 Accepted Submission(s): 5856
Problem Description
学校が始まって、杭電はまた多くの新入生を迎えた.ACMerは新入生のために番組を用意したいと思っています.番组を申し込む人が多くて、N个に达しますが、このN人の中からM个を选ぶだけで十分で、全部で何种类の选択方法がありますか?
Input
データの最初の行は正の整数Tを含み、次にTグループのデータがあり、各グループのデータが1行を占める.各グループのデータは2つの整数N(応募者数,1<=N<=30),M(番組に必要な人数0<=M<=30)を含む.
Output
データのセットごとに整数を出力し、出力ごとに1行を占める
Sample Input
5 3 2 5 3 4 4 3 6 8 0
Sample Output
3 10 1 0 1
Source
ECJTU 2008 Autumn Contest
質問リンク:HDU 2519新入生パーティー
問題解:組合せ数を計算し、オーバーフローを防止するために、エッジを乗じて除算します.
ACのC++プログラム:
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17307 Accepted Submission(s): 5856
Problem Description
学校が始まって、杭電はまた多くの新入生を迎えた.ACMerは新入生のために番組を用意したいと思っています.番组を申し込む人が多くて、N个に达しますが、このN人の中からM个を选ぶだけで十分で、全部で何种类の选択方法がありますか?
Input
データの最初の行は正の整数Tを含み、次にTグループのデータがあり、各グループのデータが1行を占める.各グループのデータは2つの整数N(応募者数,1<=N<=30),M(番組に必要な人数0<=M<=30)を含む.
Output
データのセットごとに整数を出力し、出力ごとに1行を占める
Sample Input
5 3 2 5 3 4 4 3 6 8 0
Sample Output
3 10 1 0 1
Source
ECJTU 2008 Autumn Contest
質問リンク:HDU 2519新入生パーティー
問題解:組合せ数を計算し、オーバーフローを防止するために、エッジを乗じて除算します.
ACのC++プログラム:
#include
using namespace std;
typedef long long ll;
//
ll C(ll n,ll m)
{
ll res=1;
if(n==m||m==0)
return 1;
else if(n>t;
while(t--)
{
cin>>n>>m;
cout<