1. 程式人生 > 實用技巧 >測試使用dotnet-cnblog上傳markdown到部落格園

測試使用dotnet-cnblog上傳markdown到部落格園

解法一:排序

struct Stu {
    string id;
    string start_time;
    string end_time;
};
vector<Stu> v;
int n;

bool cmp1(Stu &a,Stu &b)
{
    return a.start_time<b.start_time;
}

bool cmp2(Stu &a,Stu &b)
{
    return a.end_time>b.end_time;
}

int main()
{
    cin>>n;

    for(int i=0;i<n;i++)
    {
        string a,b,c;
        cin>>a>>b>>c;
        v.pb({a,b,c});
    }

    sort(v.begin(),v.end(),cmp1);
    cout<<v[0].id;

    sort(v.begin(),v.end(),cmp2);
    cout<<' '<<v[0].id<<endl;

    //system("pause");
    return 0;
}

解法二:線性掃描即可,string是按字典序大小比較的

int n;

int main()
{
    cin>>n;

    string open_id,open_time;
    string close_id,close_time;
    for(int i=0;i<n;i++)
    {
        string id,come_time,leave_time;
        cin>>id>>come_time>>leave_time;

        if(!i || come_time < open_time)
        {
            open_time = come_time;
            open_id = id;
        }

        if(!i || leave_time > close_time)
        {
            close_time = leave_time;
            close_id = id;
        }
    }

    cout<<open_id<<' '<<close_id<<endl;

    //system("pause");
    return 0;
}