結果
問題 | No.301 サイコロで確率問題 (1) |
ユーザー |
![]() |
提出日時 | 2015-11-19 21:44:19 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 29 ms / 1,000 ms |
コード長 | 1,128 bytes |
コンパイル時間 | 777 ms |
コンパイル使用メモリ | 85,400 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 17:03:49 |
合計ジャッジ時間 | 1,353 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 |
ソースコード
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>//#include<cctype>#include<climits>#include<iostream>#include<string>#include<vector>#include<map>//#include<list>#include<queue>#include<deque>#include<algorithm>//#include<numeric>#include<utility>#include<complex>//#include<memory>#include<functional>#include<cassert>#include<set>#include<stack>const int dx[] = {1, 0, -1, 0};const int dy[] = {0, 1, 0, -1};using namespace std;typedef long long ll;typedef vector<int> vi;typedef vector<ll> vll;typedef pair<int, int> pii;void solve(int K) {vector<double> a(K+6), b(K+6);for (int i = K+1; i < K+6; i++) a[i] = 1;for (int i = K-1; i >= 0; i--) {b[i] = 1;for (int j = 1; j <= 6; j++) {a[i] += a[i+j]/6;b[i] += b[i+j]/6;}}printf("%.15lf\n", b[0]/(1-a[0]));}int main() {int T;cin >> T;while (T--) {ll N;cin >> N;if (N <= 1000) {solve((int)N);} else {cout << N+1 << ".666666666666667" << endl;}}return 0;}