这是一道水题,不过很考研思维的严密性。需要注意些小的细节。需要注意的地方我写在注释里面了,各位看官思考一下就可以了。
原题地址:点击打开链接。
代码如下:
#include<iostream>
using namespace std;
int main()
{
int a[100],i,j,s;
while(1)
{
cin>>s;
if(!s)break;/*是否满足条件*/
a[0]=0;int t=0;/*用t来统计时间*/
for(i=1;i<=s;i++)
{
cin>>a[i];
if(a[i]>=a[i-1])/*判断是升还是降*/
t+=(a[i]-a[i-1])*6;
if(a[i]<a[i-1])
t+=(a[i-1]-a[i])*4;
t+=5;/*此处需要注意一点,每到一层都需要停靠5秒钟。不需要单独计算,很是巧妙*/
}
cout<<t<<endl;
}return 0;
}
刷水题不仅仅可以给自己提供前进的动力,更可以锻炼自己写代码的速度和准确性。水题基本不需要调试,直接提交。用队友的话就是水果不留痕·····