自闭的新学期
自闭的新学期
贪心问题,按照他的结束时间排序

#include<bits/stdc++.h>
using namespace std;
struct Act
{
 int st,en;
}a[100005];
int n,f[100005],ans;
inline int read()
{
 char c=getchar();
 int t=0;
 while(c>'9'||c<'0')c=getchar();
 while(c>='0'&&c<='9')
 {
  t=t*10+c-'0';
  c=getchar();
 }
 return t;
}
bool cmp(Act a,Act b)
{
 return a.en<b.en;
}
int main()
{
 n=read();
 for(int i=1;i<=n;i++)
 {
  a[i].st=read()*60+read();
  a[i].en=read()*60+read()-1;
 }
 sort(a+1,a+n+1,cmp);
 int nowr=-1;
 for(int i=1;i<=n;i++)
  if(a[i].st>nowr)
   ans++,nowr=a[i].en;
 printf("%d\n",ans);
 return 0;
}

相关文章: