生活随笔
收集整理的這篇文章主要介紹了
                                
HDU1008
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            Elevator
 Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
 問題描述
我們城市的最高建筑只有一部電梯。
請求列表是由N個正數組成的。
數字表示電梯在哪個樓層停止,按規定的順序。
電梯上升一層需要6秒,而下一層則需要4秒。
電梯將在每一站停留5秒鐘。
 對于給定的請求列表,您需要計算用于滿足列表上請求的總時間。
電梯開始時在第0層,當請求完成時,不需要返回到地面。
?
 輸入
有多個測試用例。
每個例子都包含一個正整數N,然后是N個正數。
輸入的所有數字都小于100。
帶有N = 0的測試用例表示輸入結束。
這個測試用例不需要處理。
?
 輸出
在每個測試用例的單行上打印總時間。
 Sample Input  1 2  3 2 3 1 0   Sample Output  17  41    
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int i,n,*
a,floor,time;
 6     scanf(
"%d",&
n);
 7     while(n!=
0)
 8     {
 9         floor=
0;
10         time=
0;
11         a=(
int*)malloc(n*
sizeof(
int));
12         for(i=
0;i<n;i++
)
13             scanf(
"%d",&
a[i]);
14         for(i=
0;i<n;i++
)
15         {
16             floor-=
a[i];
17             if(floor<
0)
18                 time+=(-floor)*
6+
5;
19             else if(floor>
0)
20                 time+=floor*
4+
5;
21             else       //這里要注意題目中同樓層也要算5秒時間。坑!!
22                 time+=
5;
23             floor=
a[i];
24         }
25         printf(
"%d\n",time);
26         free(a);
27         scanf(
"%d",&
n);
28     }
29     return 0;
30 }  
?
 
轉載于:https://www.cnblogs.com/BOW1203/p/7811199.html
                            總結
                            
                                以上是生活随笔為你收集整理的HDU1008的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。