Loading

洛谷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;
}

 

posted @ 2018-03-26 19:07  yzx_1798106406  阅读(120)  评论(0编辑  收藏  举报