此题是一道典型的贪心问题呵呵!!!首先将输入的数据对结束时间进行排序,然后
开始依次统计即可!!!呵呵!关于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;
}