首页 > 代码库 > 杭电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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。