这是一道水题,不过很考研思维的严密性。需要注意些小的细节。需要注意的地方我写在注释里面了,各位看官思考一下就可以了。
原题地址:点击打开链接。
代码如下:
#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; } 刷水题不仅仅可以给自己提供前进的动力,更可以锻炼自己写代码的速度和准确性。水题基本不需要调试,直接提交。用队友的话就是水果不留痕·····