結果
| 問題 |
No.65 回数の期待値の練習
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-02-13 21:39:07 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 657 bytes |
| コンパイル時間 | 698 ms |
| コンパイル使用メモリ | 63,536 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-23 19:50:23 |
| 合計ジャッジ時間 | 1,832 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 3 |
| other | AC * 13 WA * 3 |
ソースコード
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;
int k;
vector<long long> plays;
vector<long long> pow6;
void dfs(int x, int times) {
if (x >= k) {
plays[times] += pow6[k - times];
return ;
}
for (int i = 1; i <= 6; i++) {
dfs(x + i, times + 1);
}
}
int main() {
cin >> k;
plays.assign(21, 0);
pow6.assign(21, 0);
pow6[0] = 1;
for (int i = 1; i <= 20; i++) {
pow6[i] = pow6[i - 1] * 6;
}
dfs(0, 0);
long long sum = 0;
for (int i = 0; i <= plays.size(); i++) {
sum += i * plays[i];
}
double ans = 1.0 * sum / pow6[k];
printf("%.6f\n", ans);
return 0;
}