hihoCoder Challenge 11 register

Ended

Participants:616

Verdict:Accepted
Submitted:2015-05-03 19:14:07

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>
const int N = 500 + 5;
double dp[N];
void init() {
    dp[0] = 1;
    for (int i = 1; i < N; ++ i) {
        for (int j = 0; j < i; ++ j) {
            for (int k = 0; k < i; ++ k) {
                dp[i] += 1. / i / i * (dp[j] + dp[k]);
            }
        }
    }
}
int main() {
    init();
    int n;
    while (scanf("%d",&n) == 1) {
        printf("%.6f\n",dp[n]);
    }
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX