#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <queue>
#include <map>
#include <cmath>
#include <iomanip>
#define INF 99999999
typedef long long LL;
using namespace std;
const int MAX=1000+10;
int n,s;
double dp[MAX][MAX],p1,p2,p3,p4;
int main(){
while(cin>>n>>s){
memset(dp,0,sizeof dp);
for(int i=n;i>=0;--i){
for(int j=s;j>=0;--j){
if(i == n && j == s)continue;
p1=(n-i)*(s-j)*1.0;
p2=(n-i)*j*1.0;
p3=i*(s-j)*1.0;
p4=n*s-i*j*1.0;
dp[i][j]=(p1*dp[i+1][j+1]+p2*dp[i+1][j]+p3*dp[i][j+1]+n*s)/p4;
}
}
printf("%.4lf\n",dp[0][0]);
}
return 0;
}
poj 2096
最新推荐文章于 2019-11-23 16:07:27 发布