杭电2037

此题是一道典型的贪心问题呵呵!!!首先将输入的数据对结束时间进行排序,然后
开始依次统计即可!!!呵呵!关于sort()函数的讲解请参考:http://www.cnblogs.com/xiohao/archive/2012/11/05/2755183.html

剩下的也就没有什么好说的了哈!!!
ac吧!!
#include<iostream>
#include<algorithm>
using namespace std;

    struct TV{
 int start;
 int end;
 } date[101];
   bool cmp(const TV &a,const TV &b)
   {
    return a.end<b.end;
   }

int main()
{  
 int n,i,sum;
 TV tmp;
 while(cin>>n&&n!=0)
 {
  for(i=0;i<n;i++)
   cin>>date[i].start>>date[i].end;
        sort(date,date+n,cmp);
        sum=1;
  tmp=date[0];
       for(i=0;i<n-1;i++)
   
     if(tmp.end<=date[i+1].start)
     { sum++;
          tmp=date[i+1];
    }
    cout<<sum<<endl;
    }
 return 0;
   }

 

你可能感兴趣的:(杭电)