結果
| 問題 |
No.75 回数の期待値の問題
|
| コンテスト | |
| ユーザー |
zawakasu
|
| 提出日時 | 2022-08-08 04:54:48 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 40 ms / 5,000 ms |
| コード長 | 1,440 bytes |
| コンパイル時間 | 10,649 ms |
| コンパイル使用メモリ | 277,876 KB |
| 最終ジャッジ日時 | 2025-01-30 19:24:00 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 16 |
ソースコード
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
// #include <atcoder/modint>
// #include <atcoder/fenwicktree>
// #include <atcoder/segtree>
// #include <atcoder/scc>
#define all(x) begin(x), end(x)
using namespace std;
// using namespace atcoder;
// using mint = modint998244353;
// using mint = modint1000000007;
using i32 = int;
using i64 = long long;
using ld = long double;
void debug(vector<int> a) {
for (auto x : a) cout << x << ' ';
cout << endl;
}
void debug(vector<vector<int>> a) {
for (auto y : a) debug(y);
}
template <typename T1, typename T2>
inline bool chmax(T1 &a, T2 b) {return a < b and (a = b, true);}
template <typename T1, typename T2>
inline bool chmin(T1 &a, T2 b) {return a > b and (a = b, true);}
const i64 supl = LONG_LONG_MAX - 100;
void main_() {
i32 k; cin >> k;
vector<ld> dpa(k + 6), dpb(k + 6);
for (int i = k + 1 ; i < k + 6 ; i++) dpa[i] = 1;
for (int i = k - 1 ; i >= 0 ; i--) {
for (int j = 1 ; j <= 6 ; j++) {
dpa[i] += 1.0l/6.0l * dpa[i + j];
dpb[i] += 1.0l/6.0l * dpb[i + j];
}
dpb[i] += 1.0l;
}
cout << fixed << setprecision(3);
// cout << dpa[0] << ' ' << dpb[0] << endl;
cout << dpb[0] * 1.0l/(1.0l - dpa[0]) << endl;
}
int main() {
ios::sync_with_stdio(false);
std::cin.tie(nullptr);
main_();
return 0;
}
zawakasu