結果
問題 |
No.66 輝け☆全国たこやき杯
|
ユーザー |
|
提出日時 | 2014-11-14 00:49:48 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 325 ms / 5,000 ms |
コード長 | 542 bytes |
コンパイル時間 | 141 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-12-26 14:31:02 |
合計ジャッジ時間 | 2,286 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
コンパイルメッセージ
Syntax OK
ソースコード
gets s=$<.map{|c|c.to_i**2}#強さ n=(0..s.size-1).map{|i|{i=>1.0}}# 各ブロックでN(key)が勝つ確率value while n[1] #ブロックが1つになるまで対戦する n=n.each_slice(2).map{|i,j| #隣のブロック同士(iとj)で対戦 r=Hash.new{0} # N(key)が勝つ確率value i.each{|ia,pa| sa2=s[ia] j.each{|ib,pb| sb2=s[ib] pm=pa*pb/(sa2+sb2) r[ia]+=pm*sa2 r[ib]+=pm*sb2 } } r } end p n[0][0] # 最終的にN(0)がブロック0に残る確率