活动安排问题

cpp 复制代码
#include<iostream>
using namespace std;
void Sort(int n,int *s,int *f)
{
    for(int i=0;i<n;i++)
    {
        for(int j=i;j<n;j++)
        {
            if(f[i]>f[j])
            {
                int t0=f[i];
                f[i]=f[j];
                f[j]=t0;
                int t1=s[i];
                s[i]=s[j];
                s[j]=t1;
            }
        }
    }
}
void Print(int n,int s[],int f[])
{
    for(int i=0;i<n;i++)
        cout<<i<<":"<<s[i]<<" "<<f[i]<<endl;
}
int GreedySelector(int n,int s[],int f[],bool A[])
{
    A[0]=true;
    int j=0;
    int count0=1;
    for(int i=1;i<n;i++)
    {
        if(s[i]>=f[j])
        {
            A[i]=true;
            j=i;
            count0++;
        }
    }
    return count0;
}
int main()
{
    int n;cin>>n;
    int s[n],f[n];
    bool A[n];
    for(int i=0;i<n;i++)
        A[i]=false;
    for(int i=0;i<n;i++)
    {
        cin>>s[i]>>f[i];
    }
    Sort(n,s,f);
    Print(n,s,f);
    cout<<GreedySelector(n,s,f,A)<<endl;
    for(int i=0;i<n;i++)
    {
        if(A[i]==true)
            cout<<s[i]<<" "<<f[i]<<endl;;
    }
    return 0;
}
相关推荐
啊阿狸不会拉杆16 分钟前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
liu****31 分钟前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
A9better38 分钟前
C++——不一样的I/O工具与名称空间
开发语言·c++·学习
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
王老师青少年编程1 小时前
2024年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
_OP_CHEN1 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
MSTcheng.1 小时前
【C++】C++11新特性(三)
开发语言·c++·c++11
田野追逐星光1 小时前
STL容器list的模拟实现
开发语言·c++·list
TracyCoder1231 小时前
LeetCode Hot100(27/100)——94. 二叉树的中序遍历
算法·leetcode
StandbyTime2 小时前
《算法笔记》学习记录-第二章 C/C++快速入门
c++·算法笔记