活动安排问题

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;
}
相关推荐
明月别枝惊鹊丶20 小时前
【C++】GESP 三级手册
java·开发语言·c++
谈笑也风生20 小时前
经典算法题详解之切分数组(一)
数据结构·算法·leetcode
松涛和鸣20 小时前
28、Linux文件IO与标准IO详解:从概念到实战
linux·网络·数据结构·算法·链表·list
长安er20 小时前
LeetCode 167/15 两数之和与三数之和-双指针1
算法·leetcode·双指针·两数之和·三数之和
Hello娃的20 小时前
【神经网络】反向传播BP算法
人工智能·神经网络·算法
ZouZou老师20 小时前
C++设计模式之责任链模式:以家具生产为例
c++·设计模式·责任链模式
lynnlovemin20 小时前
从暴力到高效:C++ 算法优化实战 —— 排序与双指针篇
java·c++·算法
jinxinyuuuus20 小时前
快手在线去水印:短链解析、API逆向与视频流的元数据重构
前端·人工智能·算法·重构
Flash.kkl20 小时前
优先算法专题十五——BFS_FloodFill
算法·宽度优先
高洁0121 小时前
向量数据库拥抱大模型
python·深度学习·算法·机器学习·transformer