HDOJ 2037简单的贪心算法

时间:2023-03-09 13:41:20
HDOJ 2037简单的贪心算法

代码:

#include<iostream>

using namespace std;

int main()

{

int n,s,t1[100],t2[100],i,t,j;

while(cin>>n)

{

if(n==0) break;

s=1;

for(i=0;i<n;i++)

cin>>t1[i]>>t2[i];

for(i=0;i<n;i++)

for(j=i+1;j<n;j++)

{

if(t2[i]>t2[j])

{

t=t2[i];

t2[i]=t2[j];

t2[j]=t;

t=t1[i];

t1[i]=t1[j];

t1[j]=t;

}

}

i=0;

for(j=1;j<n;j++)

{

if(t1[j]>=t2[i])

{

i=j;

s+=1;

}

}

cout<<s<<endl;

}

return 0;

}

把每个节目的结束时间按升序排列(冒泡排序),然后比较下一个节目的开始时间是否大于上一个节目的结束时间,若大于,节目数加一。