1題目編號:Problem E
2簡單題意:知道了所有你喜歡看的電視節目的轉播時間表,做合理安排,輸出能完整看到的電視節目的個數。
3.解題思路形成過程:(1) 由輸出能完整看到的電視節目的個數,得與貪心法的活動安排問題完全相同。(2)因爲要輸出個數,所以要定義一個計數器。
4.感想:是我聽完貪心法做的第一道, 感覺挺easy,以爲按照模板來就好了,結果,看了其他幾道題,才知道,需要掌握的是貪心法的思想,還需要多看多做。
5.AC代碼:如下
#include <iostream>
using namespace std;
#include<algorithm>
struct action{
int s;
int f;
};
bool cmp(const action &a,const action &b)
{
if(a.f<=b.f)return true;
return false;
}
int main()
{
//freopen("memory","r",stdin);
int n,sum;
action a[100];
while(cin>>n&&n!=0)
{
sum=1;
for(int i=0;i<n;i++)
cin>>a[i].s>>a[i].f;
sort(a,a+n+1,cmp);
int pre=1;
for(int i=2;i<=n;i++)
if(a[i].s>=a[pre].f)
{
pre=i;
sum++;
}
cout<<sum<<endl;
}
}