結果

問題 No.211 素数サイコロと合成数サイコロ (1)
ユーザー weakenweaken
提出日時 2020-10-03 06:05:25
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 1,296 bytes
コンパイル時間 2,098 ms
コンパイル使用メモリ 209,664 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-18 04:04:38
合計ジャッジ時間 3,081 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 1 ms
6,940 KB
testcase_02 AC 2 ms
6,940 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 AC 2 ms
6,944 KB
testcase_06 AC 2 ms
6,944 KB
testcase_07 AC 2 ms
6,940 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,944 KB
testcase_10 AC 1 ms
6,940 KB
testcase_11 AC 2 ms
6,944 KB
testcase_12 AC 2 ms
6,940 KB
testcase_13 AC 2 ms
6,940 KB
testcase_14 AC 2 ms
6,940 KB
testcase_15 AC 2 ms
6,944 KB
testcase_16 AC 2 ms
6,940 KB
testcase_17 AC 2 ms
6,944 KB
testcase_18 AC 2 ms
6,944 KB
testcase_19 AC 2 ms
6,944 KB
testcase_20 AC 2 ms
6,944 KB
testcase_21 AC 1 ms
6,940 KB
testcase_22 AC 2 ms
6,940 KB
testcase_23 AC 1 ms
6,944 KB
testcase_24 AC 2 ms
6,940 KB
testcase_25 AC 2 ms
6,944 KB
testcase_26 AC 2 ms
6,944 KB
testcase_27 AC 2 ms
6,944 KB
testcase_28 AC 2 ms
6,944 KB
testcase_29 AC 2 ms
6,944 KB
testcase_30 AC 2 ms
6,940 KB
testcase_31 AC 2 ms
6,940 KB
testcase_32 AC 2 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#ifdef _DEBUG
#include "debug.hpp"
#else
#define debug(...)
#endif
#define fastIO (cin.tie(0), cout.tie(0), ios::sync_with_stdio(false))
#define precise(i) fixed << setprecision(i)
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using ill = int64_t;
using ull = uint64_t;
using namespace std;

void solve() {
  int k;
  cin >> k;

  int primes[]{ 2, 3, 5, 7, 11, 13 };
  int comps[] { 4, 6, 8, 9, 10, 12 };
  map<int, int> dice;

  for(int i = 0; i < 6; ++i) {
    for(int j = 0; j < 6; ++j) {
      int sum = primes[i] * comps[j]; 
      if(dice.find(sum) != dice.end()) {
        dice[sum] += 1;
      } else {
        dice[sum] = 1;
      }      
    }
  } 

  for(const auto d : dice) {
    if(d.first== k) {
      cout << precise(12) << (double)d.second / 36 << '\n';
      return;
    }
  }
  cout << precise(12) << 0.0 << '\n';
  return;
}

void wrapper() {
  int loop;
  cin >> loop;
  for (int i = 0; i < loop; i++) {
    auto start = chrono::steady_clock::now();
    cout << "[TEST " << i + 1 << "]\n";
    solve();
    auto end = chrono::steady_clock::now();
    chrono::duration<double> elapsed = end - start;
    cout << "[elapsed : " << elapsed.count() << "]" << '\n';
  }
}

int main() {
  fastIO;
#ifdef _DEBUG
  wrapper();
#else
  solve();
#endif
}
0