Week2 B 爆零 大力出奇蹟

2021-10-03 23:15:40 字數 2486 閱讀 4175

week2 b - 爆零(×)大力出奇蹟(√)

程式設計思維作業和實驗使用的實**測系統,具有及時獲得成績排名的特點,那它的功能是怎麼實現的呢?

我們千辛萬苦懟完了不忍直視的程式並提交以後,評測系統要麼返回ac,要麼是返回各種其他的錯誤,不論是怎樣的錯法,它總會給你記上一筆,表明你曾經在這兒被坑過,而當你歷經千辛終將它ac之後,它便會和你算筆總賬,表明這題共錯誤提交了幾次。

在歲月的長河中,你通過的題數雖然越來越多,但通過每題時你所共花去的時間(從最開始算起,直至通過題目時的這段時間)都會被記錄下來,作為你曾經奮鬥的痕跡。特別的,對於你通過的題目,你曾經的關於這題的每次錯誤提交都會被算上一定的單位時間罰時,這樣一來,你在做出的題數上,可能領先別人很多,但是在做出同樣題數的人中,你可能會因為罰時過高而處於排名上的劣勢。

例如某次考試一共八道題(a,b,c,d,e,f,g,h),每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有ac,正數表示ac所耗的時間,如果正數a跟上了一對括號,裡面有個正數b,則表示該學生ac了這道題,耗去了時間a,同時曾經錯誤提交了b次。例子可見下方的樣例輸入與輸出部分。

input

輸入資料報含多行,第一行是共有的題數n(1≤n≤12)以及單位罰時m(10≤m≤20),之後的每行資料描述乙個學生的資訊,首先是學生的使用者名稱(不多於10個字元的字串)其次是所有n道題的得分現狀,其描述採用問題描述中的數量標記的格式,見上面的**。

output

根據這些學生的得分現狀,輸出乙個實時排名。實時排名顯然先按ac題數的多少排,多的在前,再按時間分的多少排,少的在前,如果湊巧前兩者都相等,則按名字的字典序排,小的在前。每個學生佔一行,輸出名字(10個字元寬),做出的題數(2個字元寬,右對齊)和時間分(4個字元寬,右對齊)。名字、題數和時間分相互之間有乙個空格。資料保證可按要求的輸出格式進行輸出。

sample input

8

20gugudong 96-3

40(3)

001-

80hrz 10767-

30082

00tt 120(3

)3010(

1)-3

04721(

2)-2

omrailgun 0-99

-80-

666-

100860-

9999996

yjq -237

(2)13

-10113(2

)79(1

)-1zjm 0057

(5)0

099(3

)-70

(輸入完後加上 ctrl + z enter)

sample output

tt          5

348yjq 4

342gugudong 3

197hrz 3

256zjm 2

316omrailgun 0

0

輸入有三種可能

第一種是輸入乙個負數 代表該題沒有通過 可不做處理

第二種是輸入乙個正數 代表該題通過的時間 加在最後分數上

[關鍵]第三種是輸入乙個正數和()中的乙個正數

第乙個正數代表通過該題的時間 加在最後分數上

第二個數乘上罰時m 加在最後分數上

解題關鍵知識

輸入時判斷是第幾種

第一第二種可分為一類格式

第三種分為另一類格式

這時可用到sscanf();

sscanf輸入字串在進行分析

或是直接scanf();

b=0;

scanf

("%d(%d)"

,&a,

&b);

若是b未輸入 b值會保持為0

int

sscanf

(const

char

*str,

const

char

*format,..

.)

#include

#include

#include

#include

#include

#include

using

namespace std;

struct stst[

1000];

bool

cmp(

const st &a,

const st &b)

intmain()

} passtime=0;

notime=0;

} i++

;nu=i;

}sort

(st,st+nu,cmp)

;for

(int i=

0;i)}

Week2實驗B 爆零 大力出奇蹟

提交實驗使用的實 測系統,排名按多關鍵字排序,第一關鍵字為題目ac的個數,第二關鍵字為時間 包括做題時間與罰時 第三關鍵字為名字的字典序,小的在前。例如某次考試一共八道題 a,b,c,d,e,f,g,h 每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有...

模擬 Experiment Week2 B 爆零

模擬乙個實 測系統的乙個榜單,給定了乙個所有同學做題情況的快照 共有n道題 要求輸出同學們ac題的情況以及總罰時。ps 當一名同學ac了某道題,這道題的罰時才會被加入到總罰時中 每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有ac,正數表示ac所耗的時...

B 爆零 大力出奇蹟

程式設計思維作業和實驗使用的實 測系統,具有及時獲得成績排名的特點,那它的功能是怎麼實現的呢?我們千辛萬苦懟完了不忍直視的程式並提交以後,評測系統要麼返回ac,要麼是返回各種其他的錯誤,不論是怎樣的錯法,它總會給你記上一筆,表明你曾經在這兒被坑過,而當你歷經千辛終將它ac之後,它便會和你算筆總賬,表...