课堂作业-电梯调度

1.要求

石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停。信1201-1班的张一东觉得在每层都停觉得不耐烦。
由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。

2.设计思路

1).开始的思路是:使用遍历的思想,将每层和用户去的层数做差求和,比较出最小的层数,则为最佳。

2). 优化

    首先假设电梯停在n层需要爬楼梯Y层;

N1个乘客在n层楼以下,N2个乘客在第n层楼,还有N3个乘客在第n层楼以上。

      电梯停在n-1层,乘客总共需要爬的层数为Y-N1+N2+N3

        如果电梯在i+1层停,则总共需要爬的层数为Y+(N1+N2-N3)层。

        因此  当N1 > N2 + N3时,i-1层比i层好;当N1 + N2 < N3时,i+1层比i层好。

3.实验总结

    我们思考问题时首先会想到的是我们最容易想到的,但是不一定是最适合的,这个时候就要想办法将我们首先想到的那个算法进行优化,这样会比我们只是一味的想比较不熟悉的算法容易一些,使我们可以在写程序时更快的完成。

时间: 2024-10-16 09:29:19

课堂作业-电梯调度的相关文章

课堂作业——电梯调度

一.题目和要求 石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停.信1201-1班的张一东觉得在每层都停觉得不耐烦. 由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层.在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层. 问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少. 二,思路 基本实现可以采用枚举法,即每到一个楼层,就要计算出所有人上下的情况,将所有人上下楼层数和相加然后求出其中最小值.但是,如果采用这种方式,代

课堂练习--电梯调度

一.题目要求 •石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停.信1201-1班的XXX东觉得在每层都停觉得不耐烦. •由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层.在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层. •问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少. 二.设计思想 这次的电梯的设计题目一开始我其实想明白了,但是老师后来讲了半天结果又说迷糊了...所以今天做作业之前看了一下同学们的设计思想,发

结对作业--电梯调度

结对编程 结对成员:王长(2011040101179)CODING:https://coding.net/u/smile-wang  高庆阳(2013040101173) 博客:http://www.cnblogs.com/gaoqingyang1994/   CODING:https://coding.net/u/gaoqingyang1994 结对编程的优缺点 在结对编程模式下,一对程序员可以平等的.互补地进行开发工作:他们一起分析,一起设计,一起写测试用例,一起编码,一起做测试...这样在

结对编程作业——电梯调度

作业要求: 现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 可服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800 kg 2 单层 10 800 kg 3 双层 20 1600 kg 4 全部楼层 20 2000 kg 其使用规定如下: 1.楼层号为0~20,其中0号为地下一层: 2.有楼层限制的电梯不在响应楼层停靠,如单双层: 3.所有电梯采用统一按钮控制 请根据上述要求设计并实现一个电梯控制程序,如果有图形显示就更好了. 需求分析: 1.共有4

结对作业—电梯调度

现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示: 电梯编号 可服务楼层 最大乘客数量 最大载重量 1 全部楼层 10 800 kg 2 单层 10 800 kg 3 双层 20 1600 kg 4 全部楼层 20 2000 kg 其使用规定如下: 1.楼层号为0~20,其中0号为地下一层: 2.有楼层限制的电梯不在响应楼层停靠,如单双层: 3.所有电梯采用统一按钮控制 上面是结对编程题目要求,我的小伙伴是白新宇:http://home.cnblogs.com/u/bai

课堂练习——电梯调度

题目:石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停.由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层.在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层. 问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少. 一.设计思路 基础大楼共有18层,则电梯可停2-18层,假设一部电梯每次最多乘20人.进入电梯之后,每人先输入要去的楼层,则程序开始计算在各楼层情况下,电梯乘客的上下楼总和,并比较大小,当取得最小值时,电梯则应

课堂练习—电梯调度

问题:石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停.信1201-1班的张一东觉得在每层都停觉得不耐烦.        由于楼层不太高(18层),在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层.在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层.        问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少. 设计思路:假定有10个用户乘坐电梯,在第一层时,每人都摁一下需要到达的楼层数.利用循环语句分别计算出电梯停在1~18层时

课堂训练——电梯调度

一.题目要求 •石家庄铁道大学基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停.信1201-1班的张一东觉得在每层都停觉得不耐烦. •由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层.在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层. •问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少. 二.设计思想 用循环分别求出停在从第一层到最高层分别一共走多少层,其中对于一个i层, 假设数组中比i层小的有lcount个,等于i层的有mcou

软件工程课堂作业(七)续——电梯调度之整体设计

一.题目要求: 1.可以获得电梯和乘客所在楼层: 2.可以根据乘客的需求到达想到达的楼层. 二.设计思路: 1.通过用户输入可以获取乘客和电梯所在楼层: 2.通过循环,输出电梯向上/向下走的过程. 三.源代码: 1 // 电梯调度——胡亚宝 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 using namespace std; 7 8 9 int _tmain() 10 { 11 int a,b,c,m,i; 12