TopCoder SRM 466 Div1 Medium
問題
N行5列に1〜5Nまでの数字がランダムに書かれたくじがある。
当選番号が、5つ1〜5Nの中から相異なるように選ばれる。
くじに、当選番号が3つ以上書かれた行があればくじは当たりである。
くじが当たりである確率を求めよ。
制約条件
N≦100
方針
一行に3つある場合、一行に4つある場合、一行に5つある場合の確率を求めて足すだけ。
何でこれ500なの。
ソースコード
double C(int n,int k){ double ret=1; rep(i,k)ret*=n-i, ret/=i+1; return ret; } class LotteryPyaterochka { public: double chanceToWin(int N) { return (N*C(5,3)*C(5*N-5,2)+N*C(5,4)*5*(N-1)+N)/C(5*N,5); } };