刚开始看错了,以为给的数字都是楼层,我说呢,怎么都不能理解41是怎么来的。
把写错的代码贴在这,正好复习一下stringstream和getline的用法
//如果给的数字都是楼层可以这么做,main函数里:
string str;
while(getline(cin,str)){
int a,bf = 0,sum = 0;
stringstream ss;
ss<<str;
while(ss>>a){
sum += cal(bf,a);
bf = a;
}
printf("%d\n",sum);
}
//1008 elevator
//计算now到goal要花的时间
int cal(int now,int goal){
int time = 5;
if(now > goal) time += 4*(now-goal);
if(now < goal) time += 6*(goal-now);
return time;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a,bf=0,sum=0;
while(n--){
scanf("%d",&a);
sum+= cal(bf,a);
bf = a;
}
printf("%d\n",sum);
}
return 0;
}