Week2 實驗B 成績排名

2021-10-03 12:58:06 字數 680 閱讀 3035

模擬oj的成績排名。

輸入:題數n、單位罰時m;之後每行資料代表乙個學生的資訊:使用者名稱(不超過10個字元)、n道題的的得分現狀。

每道題的得分現狀:負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有ac,正數表示ac所耗的時間,如果正數a跟上了一對括號,裡面有個正數b,則表示該學生ac了這道題,耗去了時間a,同時曾經錯誤提交了b次 。

每個同學的時間分=

輸出排名:先按ac題數的多少排,多的在前,再按時間分的多少排,少的在前,如果湊巧前兩者都相等,則按名字的字典序排,小的在前。

結構體student記錄每個學生的使用者名稱(name)、ac題數(cnt)、時間分(grade),重寫比較方法,第一關鍵字cnt降序、第二關鍵字grade公升序、第三關鍵字name公升序。  vector儲存所有學生。

字串s迴圈讀入得分現狀,使用stoi將其轉換成數字,若該數字<=0,不做處理;若該數字大於0,ac題數cnt++,然後遍歷字串s的每個字元直到找到"(",從下乙個字元開始模擬讀入,直到")",得到錯誤提交次數。該同學的時間分+=錯誤提交次數×單位罰時。構造該同學的student新增進vector。   

使用sort函式對vector進行排序,cout

//學生結構體

struct student//小於0 不需處理

else

}elsescanf格式讀入可以方便的處理字串 

Week2實驗 A 化學

問題描述 有六個原子,其中原子隨意編號,給定五條原子之間相連的邊,判斷輸入結構是下圖的哪一種 思路 很顯然可以用每個原子的度來判斷,但是有兩個結構的最大度數都是3,3 methy 和 2 methy 進一步判斷發現3 methy連線了兩個度為2的原子,根據此就能區分這兩個。最初的 比較繁瑣,後來經過...

PAT之成績排名(B)

題目描述 讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入描述 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績 其中姓名和學號均為不超過10個...

Week2實驗 A 化學 模擬

包含6個原子和5個化學鍵的烷烴基共有5種,用1 6標號6個原子,然後用一對數字a,b表示原子a和原子b之間有乙個化學鍵。給定5行a,b,判斷出它的類別,輸出其化學名稱 見下圖 原子沒有標號方法,即同乙個原子可能標號為1,也可能為2,依次類推。首先找出5種類別之間較大的區別 n 類的各原子鍵數分別為1...