杭电oj 2037 今年暑假不AC

Tips:贪心算法的典型应用,可以按照节目结束时间由小到大排序,(至于结束时间相同的,有些人说按开始时间早的排序,不过个人认为不必处理,因为结束时间一样,两个之中要么都没有,要么必有一个)然后再依次进行判断看是否能加入到结果集中。

 /**贪心算法,按节目结束时间排序*/
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n && n!=)
{
int ts[],te[],t;
int count = ;
//输入数据
for (int i = ;i < n;i++)
{
cin>>ts[i];
cin>>te[i];
}
//排序
for(int i = ;i<n;i++)
{
for(int j=i;j<n-;j++)
{
if(te[i]>te[j+])
{
t=te[i];te[i]=te[j+];te[j+]=t;
t=ts[i];ts[i]=ts[j+];ts[j+]=t;
}
}
}
//添加数据
count = ;
int k = te[];
for( int i=;i<n;i++)
{
if(k <= ts[i])
{
k = te[i];
count++;
}
}
cout<<count<<endl;
}
return ;
}
上一篇:spring装配---处理自动装配的歧义性


下一篇:win7下安装memcached