結果
| 問題 |
No.211 素数サイコロと合成数サイコロ (1)
|
| コンテスト | |
| ユーザー |
weaken
|
| 提出日時 | 2020-10-03 06:05:25 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 4 ms / 1,000 ms |
| コード長 | 1,296 bytes |
| コンパイル時間 | 2,436 ms |
| コンパイル使用メモリ | 200,324 KB |
| 最終ジャッジ日時 | 2025-01-15 01:52:57 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
#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
}
weaken