直接推出来公式算面积。
然后求百分比。
#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; }