PAT (Advanced Level) 1011 World Cup Betting (20 分)
直接取每一行的最大值就Ok
Python:
import sys
#str_in = input()
str_in = input()
a = [float(n) for n in str_in.split()]
str_in = input()
b = [float(n) for n in str_in.split()]
str_in = input()
c = [float(n) for n in str_in.split()]
ans = ""
res = 1.0
Max = 0
id = 0
for i in range(3):
if a[i] > Max:
Max = a[i]
id = i
res *= Max
if id == 0:
ans += "W "
elif id == 1:
ans += "T "
else:
ans += "L "
Max = 0
id = 0
for i in range(3):
if b[i] > Max:
Max = b[i]
id = i
res *= Max
if id == 0:
ans += "W "
elif id == 1:
ans += "T "
else:
ans += "L "
Max = 0
id = 0
for i in range(3):
if c[i] > Max:
Max = c[i]
id = i
res *= Max
if id == 0:
ans += "W "
elif id == 1:
ans += "T "
else:
ans += "L "
res = res * 0.65 - 1.0
res = res * 2
print(ans,end = '')
print('%.2f' % res)
C++:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<string>
#include<map>
#include<queue>
#include<vector>
using namespace std;
#define ll long long int
#define INF 0x3f3f3f3f
const int maxn = 1e5 + 10;
int main()
{
double a[3][3];
double ans = 1.0;
int vis[3];
for (int i = 0; i < 3; i++) {
double Max = 0, id = 0;
for (int j = 0; j < 3; j++) {
scanf("%lf", &a[i][j]);
if (Max < a[i][j]) Max = a[i][j], id = j;
}
vis[i] = id;
ans *= Max;
}
ans = ans * 0.65 - 1.0;
ans *= 2;
for (int i = 0; i < 3; i++) {
if (vis[i] == 0) printf("W ");
else if (vis[i] == 1) printf("T ");
else printf("L ");
}
printf("%.2f\n", ans);
return 0;
}
//_CRT_SECURE_NO_WARNINGS