自己寫的最後乙個測試點超時了,22分盡力了。看了柳婼的**,auto賦值真的學不來。。。但不用auto迴圈賦值就要超時,md就差一點。
cmp排序要注意幾點:
cmp排序的本質:cmp的問題經常混淆,只需要記住:希望元素按什麼順序排列,就直接按照大小次序返回即可;
cmp排序的的順序:嚴苛的條件先寫,不然就沒用了。如此題中:
bool cmp(struct pat a,struct pat b)
三個return就不能交換順序。
先上自己的:
#include
#include
#include
#include
#include
#include
using namespace std;
struct pat
a;bool cmp(struct pat a,struct pat b)
int sum=0;
vectora;
for(int i=0;i整體思路沒有問題,就迴圈賦值會超時
柳婼的:
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct pat
;bool cmp( pat a, pat b)
vectora;
for(auto it=schper.begin();it!=schper.end();it++)
a.push_back(pat);
sort(a.begin(),a.end(),cmp);
int pai=1;
int k=0;
cout 我是卡在了最後乙個測試點。也就是 測試點 5 不是執行超時的問題,反而是答案錯誤。花了我好長時間終於發現了問題 是這樣。因為最後答案要求 加權總分定義為乙級總分 1.5 甲級總分 頂級總分 1.5的整數部分 我也注意到最後輸出是整數部分。但是我忘記了比較的時候!我用double與double 比較 ... 每次 pat 考試結束後,考試中心都會發布乙個考生單位排行榜。本題就請你實現這個功能。輸入格式 輸入第一行給出乙個正整數 n 10 5 即考生人數。隨後 n 行,每行按下列格式給出乙個考生的資訊 准考證號 得分 學校 其中准考證號是由 6 個字元組成的字串,其首字母表示考試的級別 b代表乙級,a代表... 每次 pat 考試結束後,考試中心都會發布乙個考生單位排行榜。本題就請你實現這個功能。輸入第一行給出乙個正整數 n 10 5 即考生人數。隨後 n 行,每行按下列格式給出乙個考生的資訊 准考證號 得分 學校其中准考證號是由 6 個字元組成的字串,其首字母表示考試的級別 b代表乙級,a代表甲級,t代表...1085 PAT單位排行(25 分)
1085 PAT單位排行 (25 分
1085 PAT單位排行 25 分