#include #include #include #include #include #include #include #include using namespace std; #define REP(i,first,last) for (int i=first;i y ? x : y) #define MIN(x,y) (x < y ? x : y) const int MAX_N = 10; int N,K; int main(){ cin >> N >> K; double taro_dp[N+1][N*6+1]; double jiro_dp[N+1][N*6+1]; taro_dp[0][0] = 1; jiro_dp[0][0] = 1; // 太郎の結果 for (int i=1;i<=N;++i) { for (int j=i;j<=N*6;++j) { if (i <= K) { for (int k=4;k<=6;++k) { jiro_dp[i][j] += jiro_dp[i-1][j-k] / 3; } } else { for (int k=1;k<=6;++k) { jiro_dp[i][j] += jiro_dp[i-1][j-k] / 6; } } } } //二郎の結果 for (int i=1;i<=N;++i) { for (int j=i;j<=N*6;++j) { for (int k=1;k<=6;++k) { jiro_dp[i][j] += jiro_dp[i-1][j-k] / 6; } } } double result = 0; for (int i=N;i<=N*6;++i) { for (int j=N;j