CF265B题解

· · 题解

先看大意:

大街上有 n 棵树,每棵树的树顶都有一个坚果。一只松鼠在第一棵树的最底端,这只松鼠可以在一秒钟完成以下几个动作。

问:这只松鼠想要吃掉所有的坚果,请求出吃掉所有坚果一共需要用多少秒。

思路整理:

首先我们要初始化,将 ans 先+ 1,因为松鼠吃掉一个坚果也需要 1 秒。看着像贪心,其实是一道模拟题目。 ans 来记录改变的高度数量, cnt 记录这棵树的高度。

code:

#include<bits/stdc++.h>
using namespace std;
long long n,a,h,ans;//使用long long,int可能会爆 
//h记录上一棵树的高度
int main()
{
    cin>>n;
    ans=n*2-1;//先初始化 
    for(int i=1;i<=n;i++)
        {
        cin>>a;//输入每棵树的高度
        ans=ans+abs(a-h);
        h=a;
    }
    cout<<ans<<endl;
    return 0;
}

欢迎指出问题。