博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj3278(bfs)
阅读量:6435 次
发布时间:2019-06-23

本文共 1197 字,大约阅读时间需要 3 分钟。

 

题目链接:

分析:广搜,每次三种情况枚举一下,太水不多说了。

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long#define mod 1000000007#define inf 0x3f3f3f3f#define N 100010using namespace std;struct node{ int x,step; bool operator<(const node a)const { return step>a.step; }};priority_queue
que;int vis[N];int judge(int x){ return x>=0&&x<=100000;}node make_node(int a,int b){ node temp; temp.x=a;temp.step=b; return temp;}int main(){ int n,k; while(scanf("%d%d",&n,&k)>0) { memset(vis,0,sizeof(vis)); while(!que.empty())que.pop(); que.push(make_node(n,0)); vis[n]=1; int ans=0; while(!que.empty()) { node now=que.top(); que.pop(); int x=now.x;//printf("%d %d\n",now.x,now.step); if(x==k) { ans=now.step; break; } if(judge(x+1)&&!vis[x+1]) { vis[x+1]=1;que.push(make_node(x+1,now.step+1)); } if(judge(x-1)&&!vis[x-1]) { vis[x-1]=1;que.push(make_node(x-1,now.step+1)); } if(judge(2*x)&&!vis[x*2]) { vis[x*2]=1;que.push(make_node(2*x,now.step+1)); } } printf("%d\n",ans); }}
View Code

 

转载于:https://www.cnblogs.com/lienus/p/4167701.html

你可能感兴趣的文章
ME3750和普通3750的区别
查看>>
H3C交换系列之Super VLAN
查看>>
项目采购管理
查看>>
linux系统使用tomcat服务器部署web项目
查看>>
虚拟文件系统相关结构描述【续】
查看>>
我的友情链接
查看>>
思科通配符(Cisco Wildcard Mask)
查看>>
PHP cURL快速入门
查看>>
在errpt中报E87EF1BE的解决方法(转载)
查看>>
aix chfs及mklvcopy报错的解决方法
查看>>
取消新增的constraints
查看>>
OPTIMIZE TABLE
查看>>
flask框架+pygal+sqlit3搭建图形化业务数据分析平台
查看>>
shell实战训练营Day20
查看>>
jQuery 之 TAB切换菜单
查看>>
mysql 数据库集群搭建:(二)3台CentOS-7安装Percona-XtraDB-Cluster-57集群
查看>>
Jenkins实战演练之Windows系统节点管理
查看>>
MySQL高可用架构之MHA
查看>>
1.8 nginx域名跳转
查看>>
PHP面向对象之接口编程
查看>>