本題考查字串處理和結構體排序,關鍵點如下:
採用vector儲存結構體資料
指令1和指令3的排序是一樣的,可以復用
指令3,採用unordered_map儲存考場編號和總人數,並且可以避免超時。tip:map底層採用的是紅黑樹,有序的,可以採用中序遍歷從小到大遍歷出來,但是執行時間長;unordered_map採用的是雜湊雜湊,記憶體空間大,但是時間複雜度為o(1)
思路參考柳婼的部落格,特此感謝。
#include
#include
#include
#include
using namespace std;
struct node
;bool cmp
(const node &a,
const node &b)
intmain()
for(
int i =
0;i < m;i++)}
}else
if(type ==2)
}if(cnt !=0)
}else
if(type ==3)
}for
(auto it: m));
}}sort
(ans.
begin()
, ans.
end(
),cmp)
;for
(auto k : ans)if(
(cnt ==
0&& type ==2)
||((type ==
1|| type ==3)
&& ans.
size()
==0))
}system
("pause");
}
1095 解碼PAT准考證 (25 分)
1095 解碼pat准考證 25 分 pat 准考證號由 4 部分組成 第 1 位是級別,即 t 代表頂級 a 代表甲級 b 代表乙級 第 2 4 位是考場編號,範圍從 101 到 999 第 5 10 位是考試日期,格式為年 月 日順次各佔 2 位 最後 11 13 位是考生編號,範圍從 000 ...
1095 解碼PAT准考證 (25 分)
pat 准考證號由 4 部分組成 現給定一系列考生的准考證號和他們的成績,請你按照要求輸出各種統計資訊。輸入首先在一行中給出兩個正整數 n 10 4 和 m 100 分別為考生人數和統計要求的個數。接下來 n 行,每行給出乙個考生的准考證號和其分數 在區間 0,100 內的整數 其間以空格分隔。考生...
1095 解碼PAT准考證 (25 分)
pat 准考證號由 4 部分組成 現給定一系列考生的准考證號和他們的成績,請你按照要求輸出各種統計資訊。輸入首先在一行中給出兩個正整數 n 10 4 和 m 100 分別為考生人數和統計要求的個數。接下來 n 行,每行給出乙個考生的准考證號和其分數 在區間 0,100 內的整數 其間以空格分隔。考生...