已解决
1400*B. Two Buttons(BFS)
来自网友在路上 167867提问 提问时间:2023-09-27 20:18:07阅读次数: 67
最佳答案 问答题库678位专家为你答疑解惑
解析:
每次一个点有两种情况,-1 和 *2 两种情况,直接 BFS 即可。
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,m,vis[N],cnt[N];
void bfs(){queue<int>q;vis[n]=1;q.push(n);while(q.size()){auto t=q.front();q.pop();if(t==m){cout<<cnt[t];return;}if(t-1>0&&!vis[t-1]){vis[t-1]=1;cnt[t-1]=cnt[t]+1;q.push(t-1);}if(t<=m&&!vis[t*2]){vis[t*2]=1;cnt[t*2]=cnt[t]+1;q.push(t*2);}}
}
signed main(){cin>>n>>m;bfs();return 0;
}
查看全文
99%的人还看了
相似问题
- Java继承中的属性名相同但是类型不同的情况
- 在无回显的情况下如何判断是否存在命令注入漏洞
- 如何在el-tree懒加载并且包含下级的情况下进行数据回显-02
- unity 烘焙的时候出现模型没有光影的情况
- mac清除所有数据,不抹除的情况下如何实现?
- 掌握键盘快捷键,在没有鼠标的情况下,也还是可以做到游刃有余,甚至可以用数字键来代替鼠标
- JVM jstat 查看内存新生代老年代回收情况,排查oom
- 【MySql密码爆破脚本】用于其他爆破工具无法使用的情况下
- 修改了前端代码的情况下,给客户无感的主动刷新页面
- 使用共享内存进行通信的代码和运行情况分析,共享内存的特点(拷贝次数,访问控制),加入命名管道进行通信的代码和运行情况分析
猜你感兴趣
版权申明
本文"1400*B. Two Buttons(BFS)":http://eshow365.cn/6-14844-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!