欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > C语言PTA-计算最大游戏胜率

C语言PTA-计算最大游戏胜率

2024/10/25 9:36:08 来源:https://blog.csdn.net/Qhumaing/article/details/142416620  浏览:    关键词:C语言PTA-计算最大游戏胜率

计算最大游戏胜率

游戏中心新出了一种游戏,名叫“三连胜”,规则很简单:首先从三场比赛中选出任何一场,然后对于每一个选定的比赛,猜三个可能的结果中的一个——即W代表赢,T代表平,L代表输。每个结果都给定一个胜率。赢家的胜率将是三个单场胜率相乘之后再乘以65%的乘积。
例如,3场比赛的胜率如下:

W T L

1.1 2.5 1.7

1.2 3.1 1.6

4.1 1.2 1.1

为了获得最大的胜率,我们必须选择第三局的W,第二局的T,第一局的T。如果常数为2,则最大胜率为(4.1×3.1×2.5×65%-1)×2=39.31(精确到小数点后2位)。

输入格式:
每个输入包含一个测试用例,测试用例包括三行,分别对应三场比赛的胜率,每一行依次给出每一场比赛赢、平、负的胜率。

输出格式:
对每一组输入,输出最佳选择以及可能赢得的最大胜率。胜率精确到小数点后两位,选择和胜率之间使用空格分隔。

输入样例:
在这里给出一组输入。例如:

1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1

输出样例:
在这里给出相应的输出。例如:

T T W 39.31

代码:

#include<stdio.h>
int main(void)
{float a[3][3];float out[3][3][3];float max;int s123[3];for(int s=0;s<3;s++){for(int m=0;m<3;m++){scanf("%f",&a[s][m]);}}for(int s1=0;s1<3;s1++){for(int s2=0;s2<3;s2++){for(int s3=0;s3<3;s3++){out[s1][s2][s3]=(a[0][s1]*a[1][s2]*a[2][s3]*0.65-1)*2;}}}max=0;for(int s1=0;s1<3;s1++){for(int s2=0;s2<3;s2++){for(int s3=0;s3<3;s3++){if(max<out[s1][s2][s3]){max=out[s1][s2][s3];s123[0]=s1;s123[1]=s2;s123[2]=s3;}}}}for(int i=0;i<3;i++){if(s123[i]==0)printf("W ");if(s123[i]==1)printf("T ");if(s123[i]==2)printf("L ");}printf("%.2f",max);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com