一、題目:
某次考試一共八道題(a,b,c,d,e,f,g,h),每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數但到現在還沒有ac,正數表示ac所耗的時間,如果正數a跟上了一對括號,裡面有個正數b,則表示該學生ac了這道題,耗去了時間a,同時曾經錯誤提交了b次。例子可見下方的樣例輸入與輸出部分。
二、輸入:
輸入資料報含多行,第一行是題數n(1≤n≤12)以及單位罰時m(10≤m≤20),之後的每行資料描述乙個學生的資訊,首先是學生的使用者名稱(不多於10個字元的字串)其次是所有n道題的得分現狀,其描述採用問題描述中的數量標記的格式,見上面的**。
三、輸出:
根據這些學生的得分現狀,輸出乙個實時排名。實時排名顯然先按ac題數的多少排,多的在前,再按時間分的多少排,少的在前,如果湊巧前兩者都相等,則按名字的字典序排,小的在前。每個學生佔一行,輸出名字(10個字元寬),做出的題數(2個字元寬,右對齊)和時間分(4個字元寬,右對齊)。名字、題數和時間分相互之間有乙個空格。
四、樣例輸入輸出:
input
8 20outputgugudong 96 -3 40(3) 0 0 1 -8 0
hrz 107 67 -3 0 0 82 0 0
tt 120(3) 30 10(1) -3 0 47 21(2) -2
omrailgun 0 -99 -8 0 -666 -10086 0 -9999996
yjq -2 37(2) 13 -1 0 113(2) 79(1) -1
zjm 0 0 57(5) 0 0 99(3) -7 0
tt 5 348五、解題思路:yjq 4 342
gugudong 3 197
hrz 3 256
zjm 2 316
omrailgun 0 0
(1)統計ac題數,計算時間分。以字串型別讀取輸入資料,判斷字串開頭為『0』或者『-』,該題未ac且時間分未0。否則,該題ac,ac題數+1。計算時間分,逐位讀取字元至讀取到『(』或者『\0』【字串結束標誌】,為部分時間分。如果讀取至『(』,則需繼續讀取至『)』,括號內部分乘單位罰時是另一部分時間分。兩部分時間分相加即為總時間分。
(2)排序:多關鍵字排序。定義結構體【包含 姓名、ac題數、時間分】,在結構體中過載《號,再呼叫stl中的sort()函式。
(3)輸出格式:在指定長度的情況下,c語言預設右對齊輸出,左對齊輸出需要在前面加『-』。
示例:
printf
("%10d"
,a);
//右對齊輸出
printf
("%-10d"
,a);
//左對齊輸出
六、實現**:
#include
#include
#include
#include
using
namespace std;
struct paiming
bool
operator
<
(const paiming r)
//過載《號
}return
false;}
};intmain()
pe[p]
.b=pe[p]
.b+sum;
if(s[j]
=='('
) pe[p]
.b=pe[p]
.b+y*w;}}
p++;}
sort
(pe,pe+p)
;for
(int i=
0;i)return0;
}
Php實現簡易購物商城系統
1 系統功能模組包括 1 登陸註冊模組 包括驗證碼 找回密碼。註冊模組中要使用ajax判斷使用者名稱是否已經存在,使用正規表示式判斷電子郵件 手機號和使用者密碼的格式是否合法。2 使用者管理模組 遊客 普通使用者和管理員 管理員多了新增 刪除 更改商品 更改訂單狀態的功能 3 分頁顯示商品資訊 能夠...
搭建OJ系統
安裝參考資料 本文介紹如何利用開源oj系統原始碼快速搭建oj系統 安裝依賴環境 ubuntu系統使用者 sudo apt get update sudo apt get install y vim python pip curl git pip install docker composecento...
搭建OJ系統
目錄安裝 參考資料 本文介紹如何利用開源oj系統原始碼快速搭建oj系統 安裝依賴環境 ubuntu系統使用者 sudo apt get update sudo apt get install y vim python pip curl git pip install docker composece...