問題描述
題目翻譯:
在2010FIFA世界盃進行時,當最好的球隊中最棒的球員在爲了世界盃獎盃而在南美拼搏時,來自世界各地的球迷非常激動和興奮。同樣的,愛好足球賭博的人也通過實際行動參與了進來,不過用的是各種世界盃賭博方式。
中國足球彩票推出了一個“三倍贏”遊戲。勝利的規則非常簡單:首先選擇任意三個遊戲。然後對於每個選擇的遊戲,賭其中三個可能的結果中的其中一個,叫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.13.02.5*65%-1)*2= 37.98元。(精確到兩位小數)
輸入
每個輸入文件包含一個測試實例。每個實例包含三個遊戲的賭博信息。每個遊戲有一行,裏面包含三個與W、T和L對應的剩餘值。
輸出
對於每個測試實例,在一行中輸出每個遊戲最好的賭博選擇,還有精確到兩位小數的最大利潤。字符和數字必須用一個空格分隔。
樣例輸入:
1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1
樣例輸出:
T T W 37.31
題目分析
我們邊輸入邊進行判斷輸出,選出每一行輸入中最大的,如果是第一個數最大,輸出W;第二個最大輸出T;第三個數最大輸出L。
然後按照題目中給出的公式記錄最後的價格,並保留兩位有效數字。
代碼
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
char state[3] = {'W','T','L'};
double bet[3][3];
double sum = 1.0;
for(int i = 0;i < 3;i++)
{
double max = 0.0;
int pos = 0;
for(int j = 0;j < 3;j++)
{
cin>>bet[i][j];
if(bet[i][j]>max)
{
max = bet[i][j];
pos = j;
}
}
sum *= max;
cout<<state[pos]<<" ";
}
sum = (sum * 0.65 - 1) * 2;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum;
return 0;
}
答題用時7min
Q11——finish√