結果

問題 No.75 回数の期待値の問題
ユーザー ninoinuininoinui
提出日時 2020-09-26 05:41:20
言語 C++17(1z)
(gcc 10.2.0 + boost 1.73.0)
結果
AC  
実行時間 2,088 ms / 5,000 ms
コード長 647 Byte
コンパイル時間 3,159 ms
使用メモリ 6,880 KB
最終ジャッジ日時 2020-09-26 05:41:33
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
testcase_00 AC 80 ms
4,824 KB
testcase_01 AC 81 ms
6,872 KB
testcase_02 AC 80 ms
4,824 KB
testcase_03 AC 120 ms
6,872 KB
testcase_04 AC 80 ms
4,824 KB
testcase_05 AC 80 ms
6,872 KB
testcase_06 AC 80 ms
6,872 KB
testcase_07 AC 125 ms
4,828 KB
testcase_08 AC 133 ms
4,828 KB
testcase_09 AC 136 ms
4,824 KB
testcase_10 AC 143 ms
6,872 KB
testcase_11 AC 155 ms
4,828 KB
testcase_12 AC 171 ms
4,828 KB
testcase_13 AC 179 ms
4,824 KB
testcase_14 AC 187 ms
6,876 KB
testcase_15 AC 241 ms
4,828 KB
testcase_16 AC 928 ms
4,832 KB
testcase_17 AC 1,633 ms
4,824 KB
testcase_18 AC 1,928 ms
6,876 KB
testcase_19 AC 2,088 ms
4,824 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

template <typename T, typename U> void cmin(T &a, U b) {
  if (a > b) a = b;
}
template <typename T, typename U> void cmax(T &a, U b) {
  if (a < b) a = b;
}

signed main() {
  cin.tie(nullptr);
  ios_base::sync_with_stdio(false);

  random_device rd;
  mt19937 mt(rd());

  long K;
  cin >> K;
  long ans = 0;
  for (long i = 1e6; i; i--) {
    long sum = 0, cnt = 0;
    while (true) {
      sum += mt() % 6 + 1, cnt++;
      if (sum == K) {
        ans += cnt;
        break;
      } else {
        if (sum > K) sum = 0;
      }
    }
  }
  cout << fixed << setprecision(3) << ans / 1e6 << "\n";
}
0