会场安排课程设计

给一些活动,要求分配会场。

#include<stdio.h>
#include<stdlib.h>
int greedySelector(int *s,int *f,int len)
{
int n = len - 1;
int count = 0;
int j = 0;
int flag = 1;
int num = 0;

//for(int i=0;i<len-1;i++) //判断时间是否正确
//{
// if((s[i]>=f[i])||(s[i]<0)||(f[i]<0))
// {
// printf("事件%d输入有误,请重新输入\n",i+1);
// printf("开始时间:");
// scanf("%d",&s[i]);
// printf("结束时间:");
// scanf("%d",&f[i]);
//
// }
//
// i--;
//}

int tmp1; //保证事件结束时间非减序
for(int i=0;i<n;i++)
{
for(int k=0;k<n-i;k++)
{
if(f[k]>f[k+1])
{
tmp1 = f[k];
f[k] = f[k+1];
f[k+1] = tmp1;

tmp1 = s[k];
s[k] = s[k+1];
s[k+1] = tmp1;
}
}
}
int *tmp = (int *)malloc(n*sizeof(int));//给标记数组初始化
for(int i=0;i<=n;i++)
{
tmp[i] = 0;
}
tmp[0] = 1;

printf("事件:%d 开始:%d 结束:%d\n",1,s[0],f[0]);
while(count<n)
{
for(int i=0;i<=n;i++)
{
if(tmp[i] == 0)
{
if(flag==0)
{
flag = 1;
j = i;
tmp[j] = 1;
printf("事件:%d 开始:%d 结束:%d\n",i+1,s[i],f[i]);
count++;
}
if(s[i]>=f[j])
{
j = i;
tmp[i] = 1;
printf("事件:%d 开始:%d 结束:%d\n",i+1,s[i],f[j]);
count++;

}
}

}
num++;
printf("~~~~~~~~~~《会场:%d》~~~~~~~~~~~~~~\n",num);
flag = 0;
}

return num;
}
int main()
{

///*int srr[] = {3,1};
//int frr[] = {5,3};*/
//int srr[] = {1,3,0,5,3,5,6,8,8,2,12};//test
//int frr[] = {4,5,6,7,8,9,10,11,12,13,14};
printf("~~~~~~~~~MENU~~~~~~~~~~\n");
printf(" 1.会场安排\n");
printf(" 2.退出\n");
int eg1;
scanf("%d",&eg1);
if(eg1 != 1)
{
return 0;
}

int events; //输入数据
int flag1 = 1;
printf("事件总个数:");
scanf("%d",&events);
int *srr = (int*)malloc(events*sizeof(int));
int *frr = (int*)malloc(events*sizeof(int));
for(int i=0;i<events;i++)
{
printf("事件%d",i+1);
printf("事件%d\n",i+1);
printf("开始时间:");
scanf("%d",&srr[i]);
printf("结束时间:");
scanf("%d",&frr[i]);
begin:if((srr[i]>=frr[i])||(srr[i]<0)||(frr[i]<0))
{
printf("事件%d输入有误,请重新输入\n",i+1);
printf("开始时间:");
scanf("%d",&srr[i]);
printf("结束时间:");
scanf("%d",&frr[i]);
goto begin;
}

}
printf("共%d个会场\n",greedySelector(srr,frr,events));
free(srr);
free(frr);
return 0;
}

时间: 2024-10-10 09:12:52

会场安排课程设计的相关文章

《对象程序设计》课程 课程设计、考试安排 及 教师建议

通知 (1)课程设计时间 第18周周一-周五上午,软件一室.(有兴趣的同学下午也可以在里面,电脑很多,下午是网络131班课程设计时间) 课程设计题目,老师将于下周(16周)发给大家(公布在CSDN博客 及 通知学委黎文),请大家提前准备. (2)考试时间 第18周周三下午(计划),请大家好好复习,开卷考试,主要考察大家对基础的掌握程度.杜绝作弊(老师从这个学期开始会严抓考试纪律,发现第一个作弊的同学将没收考卷,第二个报送到教务处,请大家理解). (3)老师工作时间 老师已经在湛江,除短暂外出学习

2019春第3次课程设计实验安排

2019春第3次课程设计实验安排 一.实时钟表 二.实验功能描述: 由秒针的转动,带动分针的转动,以及再带着时针的转动.同时我们的钟表是可以与我们准确的时间相联系,也就是说这是一个比较准确的时间点,以及是非常简便的,当然秒针转一圈,分针动一下,以及分针转一圈,时针动一下,采用的是用角度来进行计算的,以及结束一圈的结束点以及起始点,都是采用的角度的结算. 三.项目介绍 1.绘制静态秒针 秒针的转动 根据实际时间转动 4.添加时针和分针 5.添加表盘刻度 四.实现界面展示 五.代码托管链接 http

2019春第4次课程设计实验安排

2019春第4次课程设计实验安排 一.双人游戏 二.实验功能描述: 双人分别控制左.右挡板来控制反弹球,从而计算的分数,来比得分多少得出胜负. 三.项目介绍 1.双人输入问题 2.异步输入函数 双人反弹球 四.实现界面展示 五.代码托管链接 https://gitee.com/luo3090306768/git-hub/tree/master 六.实验总结 问题:代码中出现的 #include <graphics.h>不能用dev c++ 编译出来 解决办法:查百度搞到源代码,与之相比较找到不

软件工程课程设计指导随笔

本学期带14信息01班的<软件工程课程设计>,已经进入了尾声. 两周的课程设计,要求学生完成一个多角色的智能菜单系统,课程设计的任务是要求根据不同角色控制访问每个菜单项的权限,用户允许有多个角色:角色和用户都可以增加修改,另外只有管理员角色具有添加角色和用户的权限:而除开管理员之外的所有用户都不能调整角色和角色菜单:用户只能由管理员添加,而用户的个人信息又只能由个人修改:为了增加工作量,添加了一个日志功能,要求记住每次用户的登陆.退出时间和前端计算机的IP地址. 既然是软件工程的课程设计,当然

13商软 《软件工程》课程设计

广州商学院 计算机系 系(部) 2015 — 2016 学年第(1)学期 <软件工程>课程设计 一.课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管理.结构化分析和设计.面向对象的分析和设计.用户界面设计.软件测试.软件维护.软件配置管理等等. 本课程要求学生完成软件工程课程的学习后,以小组为单位,完成一个小型软件项目的开发.通过上机实践加深学生对软件工程知识的理解和综合应用,熟悉并掌握一般系统软件的设计方法和过程,掌握软件开发的传统方法和最新方法.初步

课程设计之&quot;网络考试系统&quot;(php、Extjs)

1.TestSystem大概结构框图 2.数据库设计(11张表) 数据库名称:db_testsystem 数据库表: tb_admin 记录题库管理员帐户信息 代码 tb_allcontent 记录随机抽取题目的内容 代码 tb_answer 记录考生答卷的答案 代码 tb_paper 记录随机产生的试卷 代码 tb_parameter 记录客户登录的ip及帐户等附加信息 代码 tb_record 记录各个题目的题型.数量 代码 tb_selfanswer 记录考生自测的答案 代码 tb_stu

管理信息系统 课程设计(2018-6-16)

1. 引言  在这个信息技术发展飞快的时代,信息也不再是像从前那么单一,具体的形式来存在的,所以我们对于信息也不能以以前的态度去面对,我们要有更好的方法去管理信息,利用Python+Flask+MysqL和HTML+CSS去制作一个属于自己的网站,把信息进行统一的管理,才会跟上时代,不断进步. 在网络技术不断的发展之下,一些网页布局与后端链接有了更多的模式,特别是在网络上的管理信息系统的不断优化,这一模型概念也有了紧跟大局的改变.我们要学会挖掘其中的功能和优点.本次课程设计我主要是设计一个方便大

2020_1课程设计—基于BC的证书格式转换工具的设计与实现—Week1

2020_1课程设计-基于BC的证书格式转换工具的设计与实现-Week1 目录 2020_1课程设计-基于BC的证书格式转换工具的设计与实现-Week1 任务要求 Week1 任务安排 实践过程 学习证书格式的相关知识 学习OpenSSL的使用方法 安装OpenSSL 使用OpenSSL查看证书,并实现证书格式转换 创建根证书CA 颁发证书 证书格式转换 遇到问题 参考链接 任务要求 清楚.pem .pfx /.keystore .crt .cer .der 这些格式的文件用openssl如何产

南京邮电大学课程设计——加速度检测应用

2周的课程设计花了3天(其实真相是花了2个小时就写好了,只是老师一会让我改这一会让我改那而已)..这个时间可能有点长了,况且读者们看以下的的题目或许就要开始嘲笑我了,"这么简单的一个东西居然还要用那么久"...哈哈,不喜勿吐槽.... 题目3.压力监测应用 (1) 检测压力是否超过阈值 (2) 若超过压力阈值,则通过一条短信通知联系人,短信内容需包含当前压力. (3) 可设置联系人名称和联系手机号码 (4) 可设置压力阈值 (5) 记录告警信息到数据库,方便查询 以下开始直接贴代码: