博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[1298]活动选择 山东理工OJ
阅读量:6516 次
发布时间:2019-06-24

本文共 1275 字,大约阅读时间需要 4 分钟。



活动选择

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学生艺术中心安排不冲突的尽可能多的社团活动。
比如有5个活动,开始与截止时刻分别为:
最佳安排序列为:1,4,5。

输入

第一行输入活动数目n(0<n<100);
以后输入n行,分别输入序号为1到n的活动使用中心的开始时刻a与截止时刻b(a,b为整数且0<=a,b<24,a,b输入以空格分隔)。

输出

输出最佳安排序列所包含的各个活动(按照活动被安排的次序,两个活动之间用逗号分隔)。

示例输入

68 109 1611 1614 1510 147 11

示例输出

1,5,4
 
 
 
本题主要运用贪心的思想
#include 
struct node{    int id;    int begin;    int end;};//定义node类型的变量int main(){    int n,j,i;    scanf("%d",&n);    getchar();//去除变量n后的回车    struct node shi[n];    int time=0,t;    int s[n];    for(i=0; i
shi[j+1].end)            {                t=shi[j].end;                shi[j].end=shi[j+1].end;                shi[j+1].end=t;                t=shi[j].begin;                shi[j].begin=shi[j+1].begin;                shi[j+1].begin=t;                t=shi[j].id;                shi[j].id=shi[j+1].id;                shi[j+1].id=t;            }//冒泡法按end由小到大排列    i=0;    while(i
=time)        {            s[i]=1;            time=shi[i].end;        }        else            s[i]=0;        i++;    }    for(i=0;i

转载于:https://www.cnblogs.com/jiangyongy/p/3971700.html

你可能感兴趣的文章
Bossies 2016:最佳开源大数据工具
查看>>
银行卡信息安全事件频发 互联网站成数据泄露"重灾区"
查看>>
云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例
查看>>
象云2.0产品发布暨国产操作系统首次入驻公有云
查看>>
一个完美DCIM应该具备的功能与价值
查看>>
《SEO的艺术(原书第2版)》——1.5 人们如何搜索
查看>>
经验贴 | 电梯监控的布线技巧
查看>>
唐山联通与丰南区政府签署“智慧城市”战略合作协议
查看>>
研究显示:广告拦截应用正在破坏互联网
查看>>
优云·小课堂 第八期:运维自动化的魅力
查看>>
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
查看>>
安装操作系统需要注意的事项
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
BBC即将推出Britflix流媒体服务:欲成为英国版Netflix
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>