結果

問題 No.76 回数の期待値で練習
ユーザー ふーらくたるふーらくたる
提出日時 2016-08-15 07:54:25
言語 C++11
(gcc 11.4.0)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 713 bytes
コンパイル時間 763 ms
コンパイル使用メモリ 73,156 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-11-07 16:56:07
合計ジャッジ時間 1,922 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <map>
#include <iomanip>
#include <cstring>
using namespace std;

const int MAX_N = 1000010;

double value[MAX_N];
map<int, double> prob = {
    {1, 1.0/12.0},
    {2, 1.0/6.0},
    {3, 1.0/4.0},
    {4, 1.0/12.0},
    {5, 1.0/4.0},
    {6, 1.0/6.0}
};

int main() {
    int t;
    cin >> t;

    memset(value, 0.0, sizeof(value));
    for (int sum = 1; sum <= MAX_N; sum++) {
        value[sum] = 1.0;
        for (int d = 1; d <= 6; d++) {
            int prev = max(0, sum - d);
            value[sum] += value[prev] * prob[d];
        }
    }

    while (t--) {
        int n;
        cin >> n;
        cout << fixed << setprecision(10) << value[n] << endl;
    }
    return 0;
}
0