【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