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 }