社区讨论
20pt求助
B3626跳跃机器人参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lr25nb0v
- 此快照首次捕获于
- 2024/01/06 22:23 2 年前
- 此快照最后确认于
- 2024/01/07 10:13 2 年前
CPP
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 1e6+5;
int f[N], n;
int dfs(int x){
if(x < 1 || x > n)
return 0x3f3f3f3f;
if(x == n)
return 0;
if(f[x] != -1)
return f[x];
f[x] = 0x3f3f3f3f;
f[x] = min(f[x], dfs(x-1)+1);
f[x] = min(f[x], dfs(x+1)+1);
f[x] = min(f[x], dfs(2*x)+1);
return f[x];
}
int main(){
scanf("%d", &n);
memset(f, -1, sizeof(f));
printf("%d", dfs(1));
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...