王道机试指南 例题7.4 今年暑假不AC

题目:

算法:

代码:

#include <iostream>
#include <algorithm>
using namespace std;

struct program{//记录每个节目的开始时间和结束时间
    int start;
    int end;
};

bool compare(program x,program y){
    return x.end<y.end;
}

int main() {
    int n;
    while(cin>>n && n!=0){
        program arr[n];
        for(int i=0;i<n;i++){
            cin>>arr[i].start>>arr[i].end;
        }
        sort(arr,arr+n, compare);//按节目的结束时间从低到高进行排序
        int count=0;//记录能够完整看完的节目数
        int st=0;//记录当前时间
        for(int i=0;i<n;i++){
            if(arr[i].start>=st){//如果节目的开始时间>=当前时间,则可以完整看完,否则测试下一个节目
                st=arr[i].end;
                count++;
            }
        }
        cout<<count<<endl;
    }
    return 0;
}

运行结果:

全部评论
花了多长时间做出来的啊
点赞 回复 分享
发布于 2023-02-11 22:21 湖北
给楼主扣一波666
点赞 回复 分享
发布于 2023-02-11 22:18 湖北

相关推荐

评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务