基礎93 考試排名

2021-10-05 09:45:25 字數 2176 閱讀 1208

93 考試排名

問題描述 :

c++程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?

我們做好了題目的解答,提交之後,要麼「ac」,要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題「ac」後,就要與你算一算帳了,總共該題錯誤提交了幾回。雖然你在題數上,大步地躍上了乙個台階,但是在耗時上要攤上你共花去的時間。特別是,曾經有過的錯誤提交,每次都要攤上一定的單位時間分。這樣一來,你在做出的題數上,可能領先別人很多,但是,在做出同樣題數的人群中,你可能會在耗時上處於排名的劣勢。

例如:某次考試一共8題(a,b,c,d,e,f,g,h),每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數,但到現在還沒有ac,正數表示ac所耗的時間,如果正數a跟上一對括號,裡面有個整數b,那就表示該學生提交該題ac了,耗去了時間a,同時,曾經錯誤提交了b次(如果b為0則沒有括號及b),因此對於下述輸入資料:

若每次錯誤提交的罰分為20分,即每錯誤提交一次,在總耗時時增加20分鐘,則其排名從高到低應該是這樣的:

josephus 5 376

john 4 284

alice 4 352

smith 3 167

bob 2 325

bush 0 0

輸入說明 :

輸入資料的第一行是考試題數n(1≤n≤12)以及單位罰分數m(10≤m≤20),每行資料描述乙個學生的使用者名稱(不多於10個字元的字串)以及對所有n道題的答題現狀,其描述採用問題描述中的數量標記的格式,見上面的**,提交次數總是小於100,ac所耗時間總是小於1000。

學生數小於100。

輸出說明 :

將這些學生的考試現狀,輸出乙個實時排名。實時排名顯然先按ac題數的多少排,多的在前,再按時間分的多少排,少的在前,如果湊巧前兩者都相等,則按名字的字典序排,小的在前。每個學生佔一行,輸出名字(10個字元寬,左對齊),做出的題數(2個字元寬,右對齊)和時間分(4個字元寬,右對齊)。除上面所描述的為了對齊輸出的空格外,名字、題數和時間分相互之間有乙個空格。

輸入範例 :

8 20

smith -1 -16 8 0 0 120 39 0

john 116 -2 11 0 0 82 55(1) 0

josephus 72(3) 126 10 -3 0 47 21(2) -2

bush 0 -1 -8 0 0 0 0 0

alice -2 67(2) 13 -1 0 133 79(1) -1

bob 0 0 57(5) 0 0 168 -7 0

輸出範例 :

josephus 5 376

john 4 284

alice 4 352

smith 3 167

bob 2 325

bush 0 0

#include

#include

struct student

;int

main()

while

(scanf

("%s"

,st[i]

.name)

!=eof

)else

break;if

(k!=len)

//表示通過了ac但是錯誤提交過

} sum=sum+count;

}//for

st[i]

.time=sum;

// printf("==%d,%d\n",st[i].time,st[i].num);

i++;}

for(j=

0;j1;j++

)for

(k=0

;k1-j;k++)if

(st[k]

.num.num)

else

if(st[k]

.num==st[k+1]

.num)

else

if(st[k]

.time==st[k+1]

.time)}}

for(j=

0;j)printf

("%-10s %2d %4d\n"

,st[j]

.name,st[j]

.num,st[j]

.time)

;return0;

}

1 3 6 考試排名 hdu

c 程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?我們做好了題目的解答,提交之後,要麼 ac 要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題 ac 後,就要與你算一算帳了,總共該題錯誤提交了幾回。雖然你在題數上,大步地...

c 實現 考試排名

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

HDU 2093 考試排名

problem description c 程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?我們做好了題目的解答,提交之後,要麼 ac 要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題 ac 後,就要與你算一算帳了,總共該...