結果
問題 | No.117 組み合わせの数 |
ユーザー | gigurururu |
提出日時 | 2015-01-04 23:56:50 |
言語 | Ruby (3.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 542 bytes |
コンパイル時間 | 125 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 36,896 KB |
最終ジャッジ日時 | 2024-06-13 02:27:33 |
合計ジャッジ時間 | 12,552 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
コンパイルメッセージ
Main.rb:28: warning: assigned but unused variable - r Syntax OK
ソースコード
def pow(a,b,mod) r=1 while b>0 r*=a if b&1>0 r%=mod if r>=mod a*=a a%=mod if a>=mod b>>=1 end r end def nPr(n,r,mod) return 0 if n<r (1..r).inject(1){|s,i|(s*((n-i+1)%mod))%mod} end def nCr(n,r,mod) return 0 if n<r ret=(1..r).inject(1){|s,i|(s*((n-i+1)%mod))%mod} (1..r).inject(ret){|s,i|(s*pow(i,mod-2,mod))%mod} end def nHr(n,r,mod) nCr(n+r-1,r,mod) end r=[*0..1000000] m=Hash[?C,:nCr,?P,:nPr,?H,:nHr] gets.to_i.times{ a,b,c=gets.chomp.split(/\(|,|\)/) p send(m[a],b.to_i,c.to_i,1000000007) }