トピックリンク:ここをクリック
質問:毎朝、コンピューター室に最初にサインインした人がドアを開け、最後にサインインした人がドアをロックします。ログインとログアウトによると、その日にドアを開閉した人を見つけることができるはずです。
アイデア:時間hh:mm:ss
は秒に変換され、m outレコードをトラバースしながら、IDが最小時間に対応し、最大時間がIDに対応し、出力への回答が記録されました。
ACコード:
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int m;
scanf("%d", &m);
string id, first_id, last_id;
int hh, mm, ss, first_in = 1e9, last_out = -1e9;
for(int i = 0; i < m; i++)
{
cin >> id;
scanf("%d:%d:%d", &hh, &mm, &ss);
int t = hh * 3600 + mm * 60 + ss;
if(t < first_in)
{
first_in = t;
first_id = id;
}
scanf("%d:%d:%d", &hh, &mm, &ss);
t = hh * 3600 + mm * 60 + ss;
if(t > last_out)
{
last_out = t;
last_id = id;
}
}
cout << first_id << " " << last_id << endl;
return 0;
}
WeChatパブリックアカウント「AlgorithmCompetitionJob Search」は、競争とジョブ検索に関連するアルゴリズムの原則とテンプレートを詳細に説明することに専念しています。注意を払い、コミュニケーションを取り、共に進歩することを歓迎します!