简单题意:坐电梯,上楼6s,下楼4s,停一次5s。
解题思路:模拟电梯运行,前一项减后一项,如果大于0代表着下楼,计时器加楼层乘4,小于0,代表上楼,计时器加楼层乘6求绝对值,每计算一次计时器加5
AC代码:
#include<iostream>
#include<fstream>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
//ifstream cin("g.txt");
int n, i, p,pre;
vector<int> v;
while(cin>>n)
{
v.clear() ;
int j = 0;
if(n == 0) break;
for(i = 0;i < n; i ++)
{
cin >> p;
v.push_back(p);
}
v.insert(v.begin() , 0);
pre = 0;
for(i = 1; i < v.size() ;i ++)
{
int k = v[pre] - v[i];
if( k > 0 ) j += k * 4;
else j += abs(k * 6);
pre = i;
j += 5;
}
cout << j << endl;
}
return 0;
}