PS:萌新刷题时的代码,基本没有改过,测试点都通过了。放上来总结一下思路与方法。
1.题目阐述
给出WTL收益矩阵,通过三局竞猜,求最大收益的组合情况以及给出回报。
2.题目思路
比较简单,建立map数组映射一下输出的字符,根据题意循环计算即可。另外scanf读取数据需要用"%lf"来读取。
3.题解代码
我的代码如下:
/*
二维数组
1.寻找每列最大值
2.计算总费用
3.输出
*/
#include<cstdio>
#include<map>
using namespace std;
double total_cost = 1;
int WTL[3];
map<int, char> mp;
const double INF = 100001;
void Test1011(){
mp[0] = 'W';
mp[1] = 'T';
mp[2] = 'L';
double temp;
for (int i = 0; i < 3; i++){
double MAX = -INF, mindex = -1;
for (int j = 0; j < 3; j++){
scanf("%lf", &temp);
if (temp > MAX){
MAX = temp;
mindex = j;
}
}
WTL[i] = mindex;
total_cost *= MAX;
}
total_cost = (total_cost*0.65 - 1) * 2;
for (int i = 0; i < 3; i++){
printf("%c ", mp[WTL[i]]);
}
printf("%.2f\n", total_cost);
}
int main(){
Test1011();
getchar();
return 0;
}