不明觉厉
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll __int64
double dp[1005][1005];
int main()
{
int n,s;
cin>>n>>s;
int i,j;
for(i=n;i>=0;i--)
for(j=s;j>=0;j--)
{
double k=(double)(n*s);
if(i==n&&j==s) dp[i][j]=0;
else dp[i][j]=(1+dp[i+1][j]*(n-i)*j/k+dp[i][j+1]*i*(s-j)/k+dp[i+1][j+1]*(n-i)*(s-j)/k)/(1-i*j/k);
}
printf("%.4lf\n",dp[0][0]);
//system("pause");
}