解题过程的小记录,如有错误欢迎指出。
难度:一星(简单题,简单程度大概在甲级题里面排得上top3)
小导航~
题目分析注意点
我的解题过程思路bug代码
dalao的代码借鉴点
题目分析
给出电梯上行、下行和每层的停留时间,以及电梯的行驶轨迹,求出送完所有客人的总时间
注意点
如果下一请求的楼层为当前楼层的情况?(当等于的时候要多停留5s,我的没有考虑,都可以过【柳神和晴神的代码逻辑把每一层停留放入循环体内=>不管是否与上层相同都会加入5s
我的解题过程
思路
在输入n(总请求数量)后立即计算出总共的停留时间,再直接在输入请求队列时,开一个变量用于保存当前所在的楼层,和输入的楼层进行比较,计算上行还是下行(这样就不需要另外开一个数列来计算了),并计算出需要的时间加入结果变量
bug
无
代码
#include<iostream>
using namespace std
;
int main()
{
int ans
= 0;
int n
;
cin
>> n
;
ans
+= 5 * n
;
int presentfloor
= 0;
for (int i
= 0; i
< n
; i
++) {
int nextfloor
;
cin
>> nextfloor
;
int move
= nextfloor
- presentfloor
;
if (move
> 0) {
ans
+= 6 * move
;
}
else {
ans
-= 4 * move
;
}
presentfloor
= nextfloor
;
}
cout
<< ans
;
return 0;
}
dalao的代码
全部代码因版权原因不放出来,大家可以自行去柳神博客购买或者参考晴神的上机笔记~
借鉴点
暂无