Catch That Cow 2007年USACO(最短路)
2016-05-15 12:26
302 查看
竟然一做最短路就以为是要Dijkstra
这题的最短路就是广搜来做的
这题的最短路就是广搜来做的
#include<cstdio> #include<algorithm> #include<string> #include<cstring> #include<cmath> #include<cstdlib> #include<queue> using namespace std; int n,k; const int maxn=100000; int step[maxn+5]; bool hash[maxn+5];//哈希判重,一个地方只到一次 queue<int> q; int main() { scanf("%d%d",&n,&k); if (k<=n) {printf("%d",n-k);exit(0);}//exit可以这么用 memset(hash,false,sizeof(hash)); hash =true; q.push(n); while (!q.empty()) { int u=q.front(); q.pop(); for (int i=1;i<=3;i++) { int v; if (i==1) v=u-1; if (i==2) v=u+1; if (i==3) v=u*2;//这样的代码技巧 if (v>maxn||v<0||hash[v]) continue;//注意越界,还有hash判重 hash[v]=true;step[v]=step[u]+1; q.push(v);//更新,入队 if (v==k) {printf("%d",step[k]);return 0;} //找到输出 } } return 0; }
相关文章推荐
- 控制并发线程数的Semaphore
- tomcat下log4j接管日志并按日期分割
- MATLAB画ROC曲线,及计算AUC值
- 第十二周
- 新手学习opencv--基于Hog的视频行人检测
- 第十一周项目5——摩托车继承自行车和机动车
- python之模块之shutil模块
- 云计算发展史
- Android 开源项目浅读-------SwipeMenuListView-重写,第五章,滑动弹出,放手关闭功能实现
- 第八周项目一(2)-数组作数据成员(文件读取)
- 第十一周学习进度
- 机电传动控制8
- 第十一周
- Python实战——1_1.网页制作
- hadoop-2.6.0完全分布式配置
- PF_RING ZC流量转发详解
- 错误The request sent by the client was syntactically incorrect ()的解决
- 几个频繁使用的命令tar/diff/patch/grep/find简单使用
- 原生ajax
- HDU 4549 M斐波那契数列 (找规律+矩阵快速幂+数快速幂)