首页 > 代码库 > 杭电1008

杭电1008

 1 #include <iostream>
 2 #define MAX 100
 3 using namespace std;
 4 int main(){
 5     int n,no;
 6     int a[100];a[0]=0;
 7     while(cin>>n && n){
 8         int x=0,y=0,z=0,s=0,k=0;
 9         for(int i=0;i<n;i++){
10             cin>>no;
11             a[i+1]=no;
12         }
13         for(int i=0;i<n;i++){
14             if(a[i+1]>=a[i])
15                 x+=(a[i+1]-a[i])*6;
16             if(a[i+1]<a[i])
17                 y+=(a[i]-a[i+1])*4;
18         }
19         for(int i=0;i<n+1;i++){  //此处判断是否全为0,注意从0到n+1
20             if(a[i]!=0)
21                 break;
22             k++;
23         }
24         if(k==n+1) n=0;//是n+1个0
25         z=n*5;
26         s=x+y+z;
27         cout<<s<<endl;
28     }
29     return 0;
30 }

这是一道很简单的题目,但我花费的时间也不少,思维还是不够清晰,应当强加练习。

值得注意的是在while之前初始化的变量只初始化一次。

杭电1008