HDOJ 1234 开门人和关门人

题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=1234


今天做了一天的题目,人都麻木了,看见这题,一看就知道是模拟。。。
懒得做了。直接去网上COPY一个。
突然看到这个代码,和我预想中的相差甚大~
太简单了。。。

代码里有一个地方用的非常好,把timemin设置为”9″, timemax=”0″,
而在时间的比较时,根本无需考虑细节,就按字符排序就可以了。
本体用string,要是用char数组会很麻烦的。。。。还容易出错!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
using namespace std;
int main()
{
    int n,m;
    string id,openid,closeid, tr,tl,timemin,timemax;
    while(cin>>n&&n)
    {
        while(n--)
        {
            cin>>m;
            timemin="9";
            timemax="0";
 
            while(m--)
            {
                cin>>id>>tr>>tl;
 
                if(timemin>=tr)timemin=tr,openid=id;
                if(timemax<=tl)timemax=tl,closeid=id;   
            }
            cout<<openid<<" "<<closeid<<endl;
        }
    }
    return 0;
}

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

发表评论

电子邮件地址不会被公开。 必填项已用*标注