hiho week 174 register

Ended

Participants:302

Verdict:Accepted
Score:100 / 100
Submitted:2017-10-29 15:47:04

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
24
25
26
27
28
29
30
31
#include <iostream>
#include <stdio.h>
#include <unistd.h>
#include <iomanip>
int main() {
    int N;
    int M;
    std::cin >> N >> M;
    double** f = new double*[N+1];
    for (int i= 0; i <= N; ++i) {
        f[i] = new double[6*N + 1]; 
    }
    f[0][0] = 1;
    for (int i = 1; i <= 6 * N + 1; ++i) {
        f[0][i] = 0;
    }
    for (int i = 1; i <= N; ++i) {
        for (int j = i; j <= 6 * i; ++j) {
            f[i][j] = 0.0;
            for (int k = 1; k <= 6; ++k) {
                if (j - k + 1>= i) {
                    f[i][j] += 1.0 / 6 * f[i-1][j-k];
                }
                
            }
        }
    }
    std::cout.setf(std::ios::fixed);
    std::cout << std::setprecision(2) << f[N][M] * 100 << std::endl;
    return 0;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX