其他分享
首页 > 其他分享> > 【ATcode】 Go Home(思维)

【ATcode】 Go Home(思维)

作者:互联网

题目链接

题目大意:现在有一个袋鼠,他可以在第i次跳跃的时候跳i个单位,也可以不进行跳跃,问你最少几次能够跳跃到X

思路:一开始觉得和那个之前找奶牛的FJ的那个题目很像,想用一个BFS试试去,后来看了他们做的发现一种更好的做法,

就是一开始我们正常的模拟他跳跃的过程,然后就是让他走到大于X的位置,然后多出来的距离可以知道一定是小于当前的跳跃的步数的,而且多出来的步数一定在之前出现过,然后我们让某一个位置的时候不跳跃,就可以得到答案了,

代码:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ll n;
    scanf("%d",&n);
    ll sum=0;
    for(int i=1;;i++)
    {
        sum+=i;
        if(sum>=n)
        {
            printf("%d\n",i);
            return 0;
        }
    }
}

 

标签:题目,int,ll,步数,跳跃,Go,Home,ATcode,sum
来源: https://blog.csdn.net/wentong_Xu/article/details/90742567