#include<bits/stdc++.h> using namespace std; double dp[1005][1005]; int main(){ memset(dp[0],0,1005); int numN,numM; //cout<<"start\n"; cin>>numN>>numM; for(int n=1;n<=numN;n++){ for(int m=1;m<=numM;m++){ if(m>=3){ dp[n][m]=1.0*n/(n+m) + 1.0*m*(m-1)*n/(n+m)/(n+m-1)/(n+m-2)*dp[n-1][m-2] + 1.0*m*(m-1)*(m-2)/(n+m)/(n+m-1)/(n+m-2)*dp[n][m-3]; }else if(m==2){ dp[n][m]=1.0*n/(n+m) + 1.0*m*(m-1)*n/(n+m)/(n+m-1)/(n+m-2)*dp[n-1][m-2]; }else{ dp[n][m]=1.0*n/(n+m); } } } cout<<dp[numN][numM]; return 0; }
5 3
牛客网
牛客企业服务