程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 2600——War

HDU 2600——War

編輯:C++入門知識

看時間和內存還以為要使用到某些存儲結構方面的 內容,結果繞了一圈,最後還是用排序等簡單知識解決了。。有的時候適當樂觀也是好的。。


[cpp]
#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; 

#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;
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved