結果

問題 No.75 回数の期待値の問題
ユーザー ゴリポン先生
提出日時 2025-04-29 18:58:55
言語 D
(dmd 2.109.1)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 536 bytes
コンパイル時間 7,340 ms
コンパイル使用メモリ 201,176 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-04-29 18:59:05
合計ジャッジ時間 8,613 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

module main;
// https://yang33-kassa.jp/yukicoder/yukicoder075/ より
import std;

void main()
{
	// 入力
	auto K = readln.chomp.to!int;
	// 答えの計算と出力(漸化式DP)
	auto A = new double[](K + 7), B = new double[](K + 7);
	A[] = 0.0, B[] = 0.0;
	foreach_reverse (i; 0 .. K) {
		foreach (j; 1 .. 7) {
			if (i + j <= K) {
				A[i] += 1 / 6.0 * A[i + j];
				B[i] += 1 / 6.0 * B[i + j];
			} else {
				A[i] += 1 / 6.0;
			}
		}
		B[i] += 1.0;
	}
	// x = Ax + B -> x = B / (1 - A)
	writefln("%.12f", B[0] / (1 - A[0]));
}
0