活动安排问题

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;
}
相关推荐
誰能久伴不乏7 分钟前
用 UDP 做一条“可靠“的控制通道
c++·qt·网络协议·udp
十五年专注C++开发24 分钟前
FlatBuffers: 一个高效的零拷贝二进制序列化库
c++·序列化·反序列化·flatbuffers
xys_6781 小时前
深挖C++:C++入门基础
开发语言·c++
高冷小鱼殿下1 小时前
C 语言指针与输入输出
c++
CC数分1 小时前
统计学基础|先把问题问对:数据分析的六大类型
大数据·人工智能·算法
地平线开发者2 小时前
CLIP 的训练机制:从对比学习到图文对齐
深度学习·算法·自动驾驶
路溪非溪2 小时前
C++标准库之智能指针
linux·开发语言·c++
hetao17338372 小时前
2026-11-02 hetao1733837 的刷题记录
c++·算法
Geektec2 小时前
IMU 选型完全指南:从硬件参数到算法融合的系统工程视角
算法·imu·陀螺仪·加速度计·元器件选型
CQU_JIAKE2 小时前
11.2【A】
算法