#include #include #include #include #include using namespace std ; const int MAXN = 101 ; const int MAXM = 10001 ; double *c[2][MAXN][MAXM] ; int main() { int n, m ; cout << setprecision(15) ; int rd = 0 ; int wr = 1 ; cin >> n >> m ; m -= n ; for (int seq=0; seq<=n; seq++) for (int mm=0; mm<=m; mm++) { c[rd][seq][mm] = (double*)calloc(MAXN+1, sizeof(double)) ; c[wr][seq][mm] = (double*)calloc(MAXN+1, sizeof(double)) ; c[rd][seq][mm][0] = 1 ; } for (int nn=1; nn<=n; nn++) { for (int seq=0; seq+nn<=n; seq++) { if ((nn != n) == (seq == 0)) continue ; for (int mm=0; mm<=m; mm++) { int wseq = seq ; for (int i=0; i