Elevator

时间限制:2000 / 1000ms(Java /其他)内存限制:65536 / 32768K(Java /其他)
提交总数:63接受提交:31
问题描述
我们城市最高的建筑物只有一部电梯。请求列表由N个正数组成。数字按指定顺序表示电梯将停在的楼层。将电梯上移一层需要6秒钟,而将一层下移则需要4秒钟。电梯将在每个站点停留5秒钟。

对于给定的请求列表,您将计算完成列表上的请求所花费的总时间。电梯在开始时位于0楼,并且在满足请求后不必返回一楼。

输入值
有多个测试用例。每个案例包含一个正整数N,后跟N个正数。输入中的所有数字均小于100。N = 0的测试用例表示输入结束。该测试用例将不被处理。

输出量
将每个测试用例的总时间打印在一行上。

样本输入
1 2
3 2 3 1
0

样本输出
17
41

作者
郑建强

资源
浙江省计算机控制学会2004

#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
	int n,m;	//输入
	int bl1;	//for循环变量
	int lc=0;	//楼层
	int ys=0;	//用时
	for(;scanf("%d",&n)&&n!=0;){
		lc=0;ys=0;		//归零
		for(bl1=0;bl1<n;bl1++){		//循环样例个数
			scanf("%d",&m);
			for(;lc!=m;){		//循环楼层改变次数
				if(lc>m){
					lc--;
					ys+=4;
				}else if(lc<m){
					lc++;
					ys+=6;
				} 
			}
			ys+=5;		//加楼层停留时间
		}
		printf("%d\n",ys);
	} 
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值