这个计算量不大,直接暴力解了。
#include <iostream>
#include <vector>
using namespace std;
void PrintResult(int i) {
switch (i)
{
case 0:cout << "W "; break;
case 1:cout << "T "; break;
case 2:cout << "L "; break;
default:
break;
}
}
int main() {
float first[3];
float second[3];
float third[3];
float ThisSum = 0;
float MaxSum = 0;
cin >> first[0] >> first[1] >> first[2];
cin >> second[0] >> second[1] >> second[2];
cin >> third[0] >> third[1] >> third[2];
int maxi = 0, maxj = 0, maxk = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
ThisSum = (first[i] * second[j] * third[k] * 0.65 - 1) * 2;
if (ThisSum > MaxSum) {
MaxSum = ThisSum;
maxi = i;
maxj = j;
maxk = k;
}
}
}
}
PrintResult(maxi);
PrintResult(maxj);
PrintResult(maxk);
printf("%.2F", MaxSum);
return 0;
}
本文介绍了一个通过暴力解法来寻找三个数组中特定组合的最大值的问题。该算法通过遍历所有可能的组合并计算每个组合对应的数值,最终找出最大的那个组合及其值。代码使用 C++ 实现,并定义了一个打印结果的辅助函数。

1005

被折叠的 条评论
为什么被折叠?



