当前位置: 代码迷 >> 综合 >> poj-3440-Coin Toss
  详细解决方案

poj-3440-Coin Toss

热度:31   发布时间:2023-12-19 10:55:15.0

直接推出来公式算面积。

然后求百分比。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
#define PI (acos(-1.0))
int main()
{int T;double m,n,t,c;double a1,a2,a3,a4,a;scanf("%d",&T);for(int _=1;_<=T;_++){scanf("%lf%lf%lf%lf",&m,&n,&t,&c);c=c/2;a1=a2=a3=a4=0.0;a3=a4=(n-1)*(m-1);a4=a4*c*c*PI;a3=a3*(4*c*c-PI*c*c);a2=n*(m-1)+m*(n-1);a2=a2*(t-2*c)*2*c;a2=a2+c*c*2*(m+n-2)*2;a=m*n*t*t;a1=a-a2-a3-a4;printf("Case %d:\n",_);printf("Probability of covering 1 tile  = %.4f%%\n",(100.0*a1/a));printf("Probability of covering 2 tiles = %.4f%%\n",(100.0*a2/a));printf("Probability of covering 3 tiles = %.4f%%\n",(100.0*a3/a));printf("Probability of covering 4 tiles = %.4f%%\n",(100.0*a4/a));if(_!=T)cout<<endl;}return 0;
}