題目描述
cwbc和xhrlyb都參加了sdoi2018,他們特別關心自己的排名。
我們定義每一場比賽每位選手的標準分為它的分數乘以滿分再除以比賽中選手所獲得的最高分。
noip2017的滿分為600分,sdoi2018每一天的比賽滿分均為300分。
我們定義總分為noip2017的標準分的25%,加上sdoi2018 前兩天標準分之和的25%,再加上sdoi2018後兩天標準分之和的50%。
xhrlyb告訴你每一次比賽每個選手的分數,你需要按照名次從高到低依次輸出他們的名字和總分。
聰明的你在仔細閱讀題目後,一定可以順利的解決這個問題!
輸入描述:
輸入資料有多組資料,對於每組資料,格式為:
第一行,乙個整數n,表示選手數量。
接下來n行,每一行有用空格隔開的乙個字串和五個整數,分別表示選手姓名、noip2017成績以及sdoi2018四天比賽的成績。
輸出描述:
輸出資料應有多組,每組輸出有多行,每行應有乙個選手姓名和他的總分。
輸出的總分應保留5位小數,且如果總分的誤差不超過10-5,我們認為兩名選手並列。
若兩名選手並列,則按姓名的字典序順序從小到大輸出。
示例1
輸入7
tzt 570 290 155 300 295
tyc 570 260 225 295 300
rqy 540 275 110 290 290
cz 520 260 130 285 290
hly 490 185 155 290 285
zhx 510 220 110 285 285
dzm 510 185 85 280 280
輸出tyc 589.74138
tzt 574.16667
rqy 539.89262
cz 534.91682
hly 515.95886
zhx 512.77374
dzm 490.38869
備註:
保證姓名均為小寫字母且個數在[2,10]之間,每次比賽的分數不會超過滿分也不會低於0分。
保證選手總數不會超過2 ∗ 105。
1 ≤ t ≤ 5。
[分析]
照著題目模擬就是了,需要關注的就是按字典序輸出
看看cmp函式就差不多了
[**]
#include
#include
#include
#include
using
namespace
std;
typedef
long
long ll;
struct node
no[200005];
bool cmp(node x, node y)
return
strlen(x.s) < strlen(y.s);
}}int main()
; for (int i = 0; i < n; i++)
}for (int i = 0; i < n; i++)
sort(no, no + n, cmp);
for (int i = 0; i < n; i++)
}}/*
7tzt 570 290 155 300 295
tyc 570 260 225 295 300
rqy 540 275 110 290 290
cz 520 260 130 285 290
hly 490 185 155 290 285
zhx 510 220 110 285 285
dzm 510 185 85 280 280
*/
牛客小白月賽3
a 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,一定可...
牛客小白月賽 3
按照題目模擬就行了,注意題目母音加了乙個y就行 include include using namespace std const int maxn 2e5 5 char yuan 6 intmain cout 字首和的使用 c,cw,cwb,cwbc都是根據上乙個狀態來進行的所以,每乙個狀態就是上...
A 音標 牛客小白月賽3
題目描述 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,...