hdoj1008

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1008

分析:先算出上楼的层数,还有下楼的层数,乘以各自所花费的时间(每上一层楼或下一层楼),再加上停顿的时间即是答案。

代码:

 1 #include<stdio.h>
 2
 3 int elevator[105];
 4
 5 int main(){
 6     int N;
 7     while(scanf("%d", &N)==1){
 8         if(N==0)
 9             break;
10         elevator[0]=0;
11         for(int i=1;i<=N;i++)
12             scanf("%d", &elevator[i]);
13         int distance, up=0, down=0;
14         for(int i=0;i<N;i++){
15             distance=elevator[i+1]-elevator[i];
16             if(distance>=0)
17                 up+=distance;
18             else
19                 down-=distance;
20         }
21         int times=N*5+up*6+down*4;
22         printf("%d\n", times);
23
24     }
25     return 0;
26 }
时间: 2024-10-11 13:24:17

hdoj1008的相关文章

HDOJ1008 Elevator

Wrong Answer. 代码如下: #include<iostream> using namespace std; int main() { int n; while(cin>>n &&n) { int *a = new int[n]; int sumRun=0,sumStop=0,sumTotal=0; int i=0; a[0]=0; for (i=1;i<=n;i++) { cin>>a[i]; if (a[i]>a[i-1]) {