題目描述:今年的acm世界總決賽快要開始了,需要有乙個排名演算法來對每支隊伍進行現場排名。acm組委會把這個任務交給了你,相信你一定能很好地完成。
排名規則如下:通過題的數目多的隊伍排名靠前,如果有多支隊伍過的題的數目相同,則罰時少的隊伍排名靠前。
輸入:輸入的第一行包括乙個整數n(1<=n<=100),代表參加比賽的隊伍的個數。
接下來的n行每行包括乙個字串和兩個整數num,punish,它們之間用空格隔開。其中,第乙個字串代表參賽的隊伍名稱(字串的長度1<=len<=101),num代表這個學校過了的題目個數(1<=num<=11),punish代表這個學校的罰時(1<=punish<=1000)。
輸出:請按題目描述的規則對所有隊伍進行排序,並按照從高到低的順序對隊伍的名稱進行輸出。當然可能存在多支隊伍,不僅通過題目數量相同,而且罰時相同。雖然這些隊伍最後排名是相同的,但是你輸出時需要按照隊伍名稱的字典序進行輸出,比如,隊伍aa和隊伍ba,你需要先輸出aa,然後輸出ba,因為aa的字典序比ba的靠前。
樣例輸入:
4realplayers 3 100
potatoes 5 30
blue_sky 7 800
3d_magic_cube 5 50
樣例輸出:
blue_skypotatoes
3d_magic_cube
realplayers
這個排序用演算法庫algorithm內的排序函式sort,就可以了,稍微麻煩一點的是字典排序,貼**:
ps:還是刷leetcode去了。。。。
#include#include#include#includeusing namespace std;
struct dui
;bool zidian(string a,string b)//進行字典排序
sort(s,s+slen,cmp);
int b=-1,e=0;
for(j=0;j
ACM判題「伺服器」(九度OJ 1339)
題目描述 今年的acm世界總決賽快要開始了,需要有乙個排名演算法來對每支隊伍進行現場排名。acm組委會把這個任務交給了你,相信你一定能很好地完成。排名規則如下 通過題的數目多的隊伍排名靠前,如果有多支隊伍過的題的數目相同,則罰時少的隊伍排名靠前。輸入 輸入的第一行包括乙個整數n 1 n 100 代表...
Pta題目集 7 36 集合相似度 (25 分)
7 36 集合相似度 25 分 給定兩個整數集合,它們的相似度定義為 n c n t 100 其中n c 是兩個集合都有的不相等整數的個數,n t 是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合...
九度 題目1340 小A的計算器 35分
題目描述 以往的作業系統內部的資料表示都是二進位制方式,小a新寫了乙個作業系統,系統內部的資料表示為26進製,其中0 25分別由a z表示。現在小a要在這個作業系統上實現乙個計算器,這個計算器要能實現26進製數的加法運算。你能幫小a實現這個計算器嗎?輸入 輸入的第一行包括乙個整數n 1 n 100 ...