結果

問題 No.1539 不可欠な部分
ユーザー 57tggx
提出日時 2021-06-02 00:46:19
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 715 bytes
コンパイル時間 989 ms
コンパイル使用メモリ 100,644 KB
最終ジャッジ日時 2025-01-21 21:05:01
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <iomanip>
#include <cmath>
#include <random>

using u64 = uint64_t;

struct xor64 {
	using result_type = u64;
	u64 x = 88172645463325252ULL;
	static constexpr u64 max() { return std::numeric_limits<u64>::max(); }
	static constexpr u64 min() { return std::numeric_limits<u64>::min(); }
	u64 operator()() {
		x = x ^ (x << 7);
		return x = x ^ (x >> 9);
	}
};

int main(){
	int n;
	std::cin >> n;

	double range = 1 / (M_E * M_PI * M_PI);

	xor64 rand;
	std::uniform_real_distribution<> dist(0, range);

	double sum = 0;
	constexpr int N = 10000000;
	for(int i = 0; i < N; ++i){
		sum += exp(cos(dist(rand) / n));
	}
	std::cout << std::setprecision(16) << sum / N * range << std::endl;
}
0