I 排名 牛客小白月賽3

2021-08-19 22:13:13 字數 1893 閱讀 5225

題目描述

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比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,...