結果

問題 No.75 回数の期待値の問題
コンテスト
ユーザー code-devo
提出日時 2016-03-13 08:15:45
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 982 ms / 5,000 ms
コード長 471 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 95 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,848 KB
最終ジャッジ日時 2026-06-01 02:26:36
合計ジャッジ時間 6,351 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 16
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

k = gets.to_i

a = Array.new(k, 0)
a[0] = 1

ans_prev = 0
ans = 0

t = 0 #サイコロを振った回数
loop do
  t += 1
  a_next = Array.new(k, 0)

  a.each_with_index do |n, i|
    next if n == 0
    for j in i+1..i+6 do
      if j < k then
        a_next[j] += n / 6.0
      elsif j > k then
        a_next[0] += n / 6.0
      else
        ans += t * n / 6.0
      end
    end
  end

  break if ans > 0 && ans == ans_prev

  a = a_next
  ans_prev = ans
end

puts ans
0