L2-2 实验室使用排期

#include <bits/stdc++.h>
using namespace std;
#define int long long 
using pii=pair<int,int>;
using pss=pair<string,string>;

int mi=1e9;
int mx=0;

//对结束时间从小到大排序,才能尽可能多的放人进去
//比如6:30:50 11:42:01 和6:30:50 11:21:00 我们肯定是取后者 也就是按照结束时间来贪心
//只要前一个结束时间 小于等于 后一个开始时间 就算进去答案里


void solve()
{
    int n;
    cin>>n;
    
    vector<pss>ve(n);

    for(int i=0;i<n;i++) cin>>ve[i].first>>ve[i].second;



    sort(ve.begin(),ve.end(),[](pss a,pss b){
        return a.second<b.second; //按照最晚结束时间从小到达排序,这样才能
    });
    
   
    int ans=0;
    string pr="00:00:00";
    for(auto [x,y]:ve){
       // cout<<x<<" "<<y<<"\n";
        
        if(x>=pr){
            ans++;
            pr=y;
        }
        
    }

    cout<<ans;
    
}




signed main()
{
    int t=1;
    //cin>>t;
    while(t--) solve();
    
    
}

posted on 2025-04-13 15:47  swj2529411658  阅读(110)  评论(0)    收藏  举报

导航