Problem G Problem ID:1006
简单题意:给出若干组电梯要按顺序到达的楼层,向上移动一层需要6秒,向下移动一层需要4秒,每到达一层需要等待5秒。问完成给出的表中的任务共需要多长时间。
解题思路形成过程:比较简单的一个问题,用两个if语句进行循环判断、计算即可。
感想:当使用类似while(n--)的语句时,若以后还想用到n的值,一定不要忘记在n--之前对n的值进行保存。
代码:
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n){
int temp,total=0,all=n; //对输入的n值进行保存!
vector <int> s;
while(n--){
cin>>temp;
s.push_back(temp);
}
total=s[0]*6+5;
for(int i=1;i<all;++i){
if(s[i]>s[i-1])
total+=(s[i]-s[i-1])*6+5;
else
total+=(s[i-1]-s[i])*4+5;
}
cout<<total<<endl;
s.clear();
}
return 0;
}