寒假作业2.1——编程题
2018-02-07 20:49
267 查看
仓库地址:
有想法但是还没打出来,先说一下我的思路思路:
想要时间最优,那电梯最好能同时搭载同一个方向的尽可能多的人数。情况一:
一个乘客请求往上,在上升过程且还未到目的地时有比他高层的另一个乘客也请求往上(方向相同),那么电梯可以到另一个乘客所在的楼层中停留接客,再将两人一同往上接送(让第二个乘客搭顺风车)。
往下方向亦是如此,多个人往同一方向也是如此。
情况二:
一个乘客请求往上,在上升过程且还未到目的地时有比他低层的另一个乘客也请求往上(方向相同),这时有两种选择:
1.先接送完第一个乘客后再往下去接送第二个乘客;
2.先往下接送另一个乘客后一同往上接送两位乘客;
个人认为应该时第一种选择时间最优,但还未列举数据验证。
情况三:
一个乘客请求往上,在上升过程且还未到目的地时有另一个乘客请求往下(方向相反),那么电梯应送完第一个乘客至目的地再往下/上至第二个乘客所在楼层接送第二个乘客。
情况四:
时间不重合,按请求时间顺序接送完所有乘客。
输入数据:
第一组 //数据中存在比较多时间重合需要判断时间请求的先后顺序(先按顺序输入,后续再写个乱序输入的)0 1 0
5 8 0
10 9 1
20 3 0
26 4 1
第二组 //所有人都在一个楼层上电梯
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
输出数据:
第一组11s时,在10楼,等待11s;
11s时,在10楼,等待6s;
22s时,在1楼,等待12s;
33s时,在10楼,等待13s;
43s时,在1楼,等待17s;
等待总和59s;
第二组
10s时,在10楼,等待10s;
10s时,在10楼,等待10s;
10s时,在10楼,等待10s;
10s时,在10楼,等待10s;
10s时,在10楼,等待10s;
等待总和50s;
note:
1.按请求时间排序后数组的顺序和之前不一样 但是输出还是得和之前的顺序是一样的——偷个懒默认输入时按顺序2.服务第二个及之后乘客的需求时应先判断请求时间时电梯的位置,再按以上罗列的情况来判断电梯走向
相关文章推荐
- 寒假作业2——Pintia小作业及编程题
- 寒假作业二-编程题
- 寒假作业2-编程题
- 蓝桥杯之寒假作业
- 2017级面向对象程序设计寒假作业3
- 寒假作业3
- 寒假作业3
- 2017级面向对象程序设计寒假作业4
- 2018寒假作业:总结
- 寒假作业——画空心三角形
- POJ C++程序设计 编程题#1 编程作业—运算符重载
- FJUT16级第一周寒假作业题解D题
- 《面向对象程序设计》——寒假作业2️⃣
- 寒假作业2
- 寒假作业2
- 寒假作业
- Doing Homework Again贪心------[NWPU][2018寒假作业][通用版]二、stl ,模拟,贪心等 [Cloned]P题
- 寒假作业——五子棋简单实现
- HPUOJ---2017寒假作业--专题-1/M-人见人爱A^B
- HPUOJ---2017寒假作业--专题0/C-开门人和关门人