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

代码:

c 复制代码
#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;
}
相关推荐
Data_Journal19 分钟前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
豆角焖肉36 分钟前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
Frank_refuel36 分钟前
【C++八股】面向对象
开发语言·c++
m0_380743872 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
xian_wwq2 小时前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
M78佐菲2 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
万邦科技Lafite2 小时前
阿里巴巴拍立淘按图搜索商品API返回值实践:提升用户购物满意度的关键措施
开发语言·api·开放api·电商开放平台·京东开放平台
别动我齐刘海3 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
狂云歌3 小时前
2025年读书回顾,AI+游戏+历史
人工智能·学习·游戏
小小龙学IT3 小时前
Qt 6 跨平台开发完全指南:从信号槽机制到实际项目落地
开发语言·qt