hodj 1008 Elevator (模拟题)

2024-06-13 20:38
文章标签 模拟题 1008 elevator hodj

本文主要是介绍hodj 1008 Elevator (模拟题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人写的代码不够简洁,而且在处理这种多循环的代码时,每次循环时变量没有重新赋值为0,造成了调试了好几次代码才通过,这是不应该的。在这次代码中,time和current都没有重新赋值为0,下回应该注意。还要网友在代码中对题目的中时间常量进行了赋值,这一点很好,要学习。

代码如下:

#include <iostream>
#include <algorithm>
#include <string>
#include <map>
#include <stdio.h>
using namespace std;int main() {int n;int floor;int current;int time;while (1) {time = 0;current=0;cin >> n;if (n == 0) {break;}while (n--) {cin >> floor;if(floor > current){time=time+5+(floor-current)*6;} else{time=time+5+(current-floor)*4;}current=floor;}cout << time << endl;}return 0;
}

网友代码如下:

#include <iostream>
using namespace std;
int main()
{const int UP = 6; const int DOWN = 4;const int STOP = 5;int nCase,floor;while(cin >> nCase && nCase){int sec = 0,tmp;//第一个目标层是由第0层出发,较特殊,单独算 cin >> floor; tmp = floor;sec = floor * UP + STOP; //由0层出发到第一个目标层所有时间 for(int i = 1; i < nCase; ++i){cin >> floor;if(floor > tmp) //如果电梯往上 sec += (floor - tmp) * UP + STOP; else  //电梯往下 sec += (tmp - floor) * DOWN + STOP;tmp = floor;//记录本次目标层,方便下一个目标层的计算 }cout << sec << endl;}
}

 

 

 

 

 

 

这篇关于hodj 1008 Elevator (模拟题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058367

相关文章

机试算法模拟题 服务中心选址

题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。 给你一个数组positions,其中positions[i] = [left, right] 表示第 i 个区域在街道上的位置,其中left代表区域的左侧的起点,right代表区域的右侧终点,假设服务中心的位置为loca

JD 1008:最短路径问题

OJ题目:click here~~ 题目分析:无向图,每条边有长度和花费,求点s到t的最短路径长度和花费。若有相同的最短路径长度,找出最少的花费的那条。 邻接表 + Dijstra + 优先队列 AC_CODE const int maxn = 1008 ;const int inf = 1<<30 ;vector<int> g[maxn] ;int len[maxn][maxn

HDU 1008(水题)

题意:给一个数n,后跟着n个数,代表电梯要到的层数,如果是上升,则每层花费6分钟,下降每层划分4分钟,停着话费5分钟,求电梯总共花费多少时间。   #include <iostream>using namespace std;void main(){int n, m, t, total;while (cin >> n && n != 0){m = 0;total = 0;wh

HDU 1332(模拟题,电子数字)

#include <iostream>#include <cstring>using namespace std;#define MAXLENGTH 8void lcd_display (long size, long number){// 将number拆分为单个的数字。int digits[MAXLENGTH];memset (digits, -1, sizeof (

AcWing 1801:蹄子剪刀布 ← 模拟题

【题目来源】https://www.acwing.com/problem/content/1803/【题目描述】 你可能听说过“石头剪刀布”的游戏。 这个游戏在牛当中同样流行,它们称之为“蹄子剪刀布”。 游戏的规则非常简单,两头牛相互对抗,数到三之后各出一个表示蹄子,剪刀或布的手势。蹄子赢剪刀,剪刀赢布,布赢蹄子。 例如,第一头牛出“蹄子”手势,第二头牛出“布”手势,则第二头牛获胜。 如果两头牛出

每日一题——4行Python代码实现PAT乙级1008 数组元素循环右移问题(举一反三+思想解读+逐步优化)四千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 ​编辑我的写法 代码功能 时间复杂度分析 空间复杂度分析 总结 我要更强 方法一:使用循环移位 方法二:使用Python的deque 方法三:使用列表切片和拼接 总结 哲学和编程思

奋战杭电ACM(DAY5)1008

被前两题虐身虐心后看到这题简直难以置信,怎么可以这么水!!一次AC不解释!!难道老师是故意放这么道水题来安慰我们受伤的小心灵?? Elevator #include <iostream>using namespace std;int main(){int N,i,time;while(cin >> N){if(N==0)break;else{int *q = new int[N+1

【PAT】【Advanced Level】1008. Elevator (20)

1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The highest building in our city has only one elevator. A request list is made

Elasticsearch 认证模拟题 - 22

一、题目 索引 task 索引中文档的 fielda 字段内容包括了 hello & world,索引后,要求使用 match_phrase query 查询 hello & world 或者 hello and world 都能匹配该文档 1.1 考点 分词器 1.2 答案 # 创建符合条件的 task 索引,设置 field 字段,并写入数据PUT task{"settings

模拟题1(考虑周全以及情况较多)

牛客小白月赛96(重现赛)D题 题目解析以及注意事项 该题主要是找线路最多和最少的各种情况,从而达到整体连通图的构建代价最小的情况。 注意事项:a,b的正负影响着这个图的线尽可能的多还是少 思路图 { a ≥ b { b < 0 a < 0 : 能连的线都连上 b < 0 a ≥ 0 :奇偶性不同线能连的的全连上 b > 0 :连奇偶性不同的点,而且线的数量要尽量小 a < b { a <