博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj - 3278 Catch That Cow
阅读量:6590 次
发布时间:2019-06-24

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

水题,搜索一个数转化成另一个数。

1 #include 
2 #include
3 #include
4 using std::queue; 5 #define N 100010 6 int d[N]; 7 bool vis[N]; 8 int m,n,a; 9 int nxt(int x)10 {11 int t;12 if(x==0) t = a-1;13 else if(x==1) t=a+1;14 else t = a<<1;15 return t;16 }17 int bfs()18 {19 if(m==n) return 0;20 int b,i;21 memset(vis,0,N);22 queue
q;23 q.push(m);24 d[m] = 0;25 vis[m] = 1;26 while(!q.empty())27 {28 a = q.front();29 q.pop();30 for(i = 0; i < 3; i++)31 {32 b = nxt(i);33 if(b >= 0 && b <= 100000 && !vis[b])34 {35 if(b == n) return d[a]+1;36 q.push(b);37 vis[b] = 1;38 d[b] = d[a]+1;39 }40 }41 }42 return -1;43 }44 int main()45 {46 while(~scanf("%d%d",&m,&n))47 printf("%d\n",bfs());48 return 0;49 }

转载于:https://www.cnblogs.com/lzxskjo/archive/2012/11/08/2761710.html

你可能感兴趣的文章
获取.propertys文件获取文件内容
查看>>
Redis3.0.5配置文件详解
查看>>
Keepalived+Nginx实现高可用
查看>>
Know about Oracle RAC Heartbeat
查看>>
JQuery——实现Ajax应用
查看>>
前端05.js入门之BOM对象与DOM对象。
查看>>
CISCO路由器NTP服务器配置
查看>>
oracle kill所有plsql developer进程
查看>>
12c rac 实例无法启动之磁盘组空间耗尽
查看>>
keepalived双机热备原理及实例部署LVS+keepalived
查看>>
曲线学习PyQt5方案一
查看>>
爬虫采集-基于webkit核心的客户端Ghost.py [爬虫实例]
查看>>
企业私有云之rabbitmq高可用
查看>>
OpenCV学习】矩阵运算和操作2
查看>>
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
查看>>
Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境
查看>>
关于在arm裸板编程时使用printf问题的解决方法
查看>>
开源人工智能技术将改变一切
查看>>
2015 上半年 JavaScript 使用统计数据
查看>>
《Python算法教程》——1.6 如果您感兴趣
查看>>