洛谷P1803凌乱的yyy 题解
这道题也是贪心思想。先排序一遍(按照结束的时间排)在进行扫描,满足条件的直接保存,增加ans,最后输出即可。
#include<bits/stdc++.h> using namespace std; struct node{ int a,b; }s[1000005]; int n,ans; bool cmp(node x,node y){ return x.b<y.b; }//结构体快速排序的重要东西 int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&s[i].a,&s[i].b); //以上为输入 sort(s+1,s+1+n,cmp); int T=s[1].b;ans=1; for(int i=2;i<=n;i++){ if(s[i].a>=T){ T=s[i].b;//更新目前的时间 ans++; } } printf("%d\n",ans);//输出 return 0; }
博客转载必须注出处!