hdu1008(基础)
2015-12-12 23:23
393 查看
Elevator
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 57659 Accepted Submission(s): 31571
[align=left]Problem Description[/align]
The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 seconds to move the elevator up one
floor, and 4 seconds to move down one floor. The elevator will stay for 5 seconds at each stop.
For a given request list, you are to compute the total time spent to fulfill the requests on the list. The elevator is on the 0th floor at the beginning and does not have to return to the ground floor when the requests are fulfilled.
[align=left]Input[/align]
There are multiple test cases. Each case contains a positive integer N, followed by N positive numbers. All the numbers in the input are less than 100. A test case with N = 0 denotes the end of input. This test case is not to be processed.
[align=left]Output[/align]
Print the total time on a single line for each test case.
[align=left]Sample Input[/align]
1 2
3 2 3 1
0
[align=left]Sample Output[/align]
17
41
题目大意:某幢大楼只有一个电梯,输入一列数,表示在第几层停一次,已知每向上一层需要6秒,向下一层需要4秒,停一次需要5秒。
问最终耗费多少时间?
其他没啥,需要注意一点当一个层数连续出现几次,没出现一次就表示停5秒。
AC代码:
#include<stdio.h> #include<string.h> int main() { int n; int a[1010]; while(scanf("%d",&n)&&n) { memset(a,0,sizeof(a)); for(int i=0;i<n;i++) { scanf("%d",&a[i]); } if(n==1&&a[0]==0) { printf("0\n"); continue; } else { int sum=a[0]*6+5; for(int i=1;i<n;i++) { if(a[i-1]<a[i]) { sum+=(a[i]-a[i-1])*6+5; } else if(a[i-1]>a[i]) { sum+=(a[i-1]-a[i])*4+5; } else if(a[i-1]==a[i]) sum+=5; } printf("%d\n",sum); } } return 0; }
相关文章推荐
- 内容提供者ContentProvider的使用详解
- 使用HttpURLConnection实现图片的下载与现显示
- PIC16F1628 Timer0 定时器 控制IO翻转
- USB2.0学习笔记连载(一):CY7C68013特性简介
- The connection to adb is down, and a severe error has occured.
- c语言:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- [超光速与空间]超光速与预测
- 算法学习:找到数组中的第k小元素
- 解析XML文件之使用DOM解析器
- 关于ListView中item与控件抢夺焦点的那些事
- LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal解题报告
- java十分钟速懂知识点——System类
- 如何使用文件来保存程序中的数据
- 解析XML文件之使用SAM解析器
- 贪心 + 并查集 之 CODE[VS] 1069 关押罪犯 2010年NOIP全国联赛提高组
- c语言:用户输入10个整数,程序找出其中的最大值和最小值
- LeetCode 263:Ugly Number
- Junit单元测试环境搭建以及简单实用
- git的下载与安装步骤(win10系统)
- Redis时延问题