題目:
problem description
每天第乙個到機房的人要把門開啟,最後乙個離開的人要把門關好。現有一堆雜亂的機房籤
到、簽離記錄,請根據記錄找出當天開門和關門的人。
input
測試輸入的第一行給出記錄的總天數n ( > 0 )。下面列出了n天的記錄。
每天的記錄在第一行給出記錄的條目數m ( > 0 ),下面是m行,每行的格式為
證件號碼 簽到時間 簽離時間
其中時間按「小時:分鐘:秒鐘」(各佔2位)給出,證件號碼是長度不超過15的字串。
output
對每一天的記錄輸出1行,即當天開門和關門人的證件號碼,中間用1空格分隔。
注意:在裁判的標準測試輸入中,所有記錄保證完整,每個人的簽到時間在簽離時間之前,
且沒有多人同時簽到或者簽離的情況。
sample input
31me3021112225321 00:00:00 23:59:59
2ee301218 08:05:35 20:56:35
ma301134 12:35:45 21:40:42
3cs301111 15:30:28 17:00:10
sc3021234 08:00:00 11:25:25
cs301133 21:45:00 21:58:40
sample output
me3021112225321 me3021112225321ee301218 ma301134
sc3021234 cs301133
幸好做這個題目時我頭腦還算比較清醒的,否則肯定會被題目搞暈了,畢竟輸入就有一大堆,開始我糾結了該如何輸入畢
竟有證件號碼又有時間,後面我果斷用了字串,因為使用字串輸入就會變得簡單,可以把所有的全看成字元這個題目
不僅要比較最先籤
到的時間還需比較最晚簽離的時間,我自己定義了兩個字串儲存了最晚的到達時間
23:59:59和最早
離 開
時間00:00:00
,然後與輸入
的簽到、籤
離時間進行比較,然後把符合條件的時間所代表的證件號碼分別存入兩個
deque
容器,然後最
後存入兩個容器的證件
號碼就分別是所求的最早簽到的,最晚簽離的人的證件號碼。
**如下:
#include//oj1234
#include#includeusing namespace std;
int main()
//時間早就存入容器
if(str2>=s2) //時間晚就存入容器
} cout<}
return 0;
}
杭電1234 開門人和關門人
problem description 每天第乙個到機房的人要把門開啟,最後乙個離開的人要把門關好。現有一堆雜亂的機房籤 到 簽離記錄,請根據記錄找出當天開門和關門的人。input 測試輸入的第一行給出記錄的總天數n 0 下面列出了n天的記錄。每天的記錄在第一行給出記錄的條目數m 0 下面是m行,每...
杭電1234 開門人和關門人
開門人和關門人 結構體 sort time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 每天第乙個到機房的人要把門開啟,最後乙個離開的人要把門關好。現有一堆雜亂的機房籤 到 簽...
杭電oj 1234 開門人和關門人
開門人和關門人 每天第乙個到機房的人要把門開啟,最後乙個離開的人要把門關好。現有一堆雜亂的機房籤 到 簽離記錄,請根據記錄找出當天開門和關門的人。input 測試輸入的第一行給出記錄的總天數n 0 下面列出了n天的記錄。每天的記錄在第一行給出記錄的條目數m 0 下面是m行,每行的格式為 證件號碼 簽...