- #include
- #include
- #include
- #include
- using namespace std;
- int r,s,p;
- doublef[107][107][107],ans[3];
- int main()
- {
- scanf("%d%d%d",&r,&s,&p);
- f[r][s][p]=1;
- for(inti=r;i>=0;i--)
- {
- for(intj=s;j>=0;j--)
- {
- for(intk=p;k>=0;k--)
- {
- if(j&&k)f[i][j][k]+=f[i+1][j][k]*((i+1)*k)/((i+1)*j+(i+1)*k+j*k);
- if(i&&k)f[i][j][k]+=f[i][j+1][k]*((j+1)*i)/(i*(j+1)+i*k+(j+1)*k);
- if(i&&j)f[i][j][k]+=f[i][j][k+1]*((k+1)*j)/(i*j+i*(k+1)+j*(k+1));
- }
- }
- }
- for(inti=1;i<=r;i++)
- for(intj=1;j<=s;j++)
- ans[0]+=f[i][j][0];
- for(inti=1;i<=s;i++)
- for(intj=1;j<=p;j++)
- ans[1]+=f[0][i][j];
- for(inti=1;i<=r;i++)
- for(intj=1;j<=p;j++)
- ans[2]+=f[i][0][j];
- printf("%.12lf %.12lf %.12lf\n",ans[0],ans[1],ans[2]);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2092865.html