hdu2600 War

来源:互联网 发布:迪克斯特拉算法的例题 编辑:程序博客网 时间:2024/05/08 01:28
#include <iostream>#include <cstring>#include <string>#include <algorithm>using namespace std;class war{    public:        int starttime;        int endtime;        bool vis;};bool cmp(war a,war b){    if(a.endtime!=b.endtime)        return b.endtime>a.endtime;    else        return a.starttime>b.starttime;}war tar[150];int main(){    int testcase;    while(cin>>testcase)    {        memset(tar,0,sizeof(tar));        string tmp;        int res=0;        int flag=0;        int stp,edp;        cin>>stp>>edp;        for(int i=0;i<testcase;i++)        {            cin>>tar[i].starttime>>tar[i].endtime;            getline(cin,tmp);            tar[i].vis=0;        }        sort(tar,tar+testcase,cmp);        if(tar[0].endtime<edp)        {            cout<<edp<<endl;            continue;        }        for(int i=0;i<testcase;i++)        {            if(tar[i].endtime>=res)            {                if(res>=tar[i].starttime)                    res=tar[i].starttime;            }            else            {                flag=1;                break;            }        }        if(flag==1)        cout<<res-1<<endl;        else        cout<<"Badly!"<<endl;    }    return 0;}