hdu2717
来源:互联网 发布:apache官方文档ant 编辑:程序博客网 时间:2024/05/16 04:58
简单的搜索,但是,hdu有一个就很不好,明明没让你多组输入,但是!!!!!!
md,就因为这个我改了一个多小时!!!!!
还有就是一个坑点,看代码吧
#include<cstdio>#include<cstring>#include<queue>using namespace std;const int N = 1e6 + 10;int n , k , vis[N];struct node{ int x , time;};void bfs(){ queue<node>q; while(!q.empty()){ q.pop(); } node p , tmp; p.x = n , p.time = 0; vis[p.x] = 1; q.push(p); while(!q.empty()){ p = q.front(); if(p.x == k){//你要先判断,我一开始是在循环中判断,但是如果第一个点就是的话就gg了 printf("%d\n",p.time); return; } q.pop(); for(int i = 0 ; i < 3 ; i++){ if(i == 0){ tmp.x = p.x + 1; tmp.time = p.time + 1; if(tmp.x >= N || tmp.x < 0 || vis[tmp.x] == 1) continue; q.push(tmp); vis[tmp.x] = 1; } if(i == 1){ tmp.x = p.x - 1; tmp.time = p.time + 1; if(tmp.x >= N || tmp.x < 0 || vis[tmp.x] == 1) continue; q.push(tmp); vis[tmp.x] = 1; } if(i == 2){ tmp.x = 2 * p.x ; tmp.time = p.time + 1; if(tmp.x < 0 || tmp.x >= N || vis[tmp.x] == 1) continue; q.push(tmp); vis[tmp.x] = 1; } } }}int main(){ while(~scanf("%d %d", &n , &k)){ memset(vis , 0 , sizeof(vis)); bfs(); }}
0 0
- hdu2717
- hdu2717
- hdu2717
- hdu2717
- 【HDU2717】-Catch that cow
- hdu2717 简单广搜
- HDU2717:Catch That Cow
- HDU2717 Catch That Cow
- HDU2717 Catch That Cow
- HDU2717 - Catch That Cow
- HDU2717 Catch That Cow
- hdu2717[BFS+启发式搜索]
- HDU2717 Catch That Cow
- HDU2717 Catch That Cow
- hdu2717:Catch That Cow
- HDU2717 Catch That Cow
- hdu2717 Catch That Cow
- hdu2717 Catch That Cow
- 剑指offer:栈的压入、弹出序列(java)
- CS231n-机器学习中numpy基础.md
- HDU 5112 A Curious Matt(2014亚洲区北京站现场赛)
- 多线程编程(一)——写一个简单的死锁
- 【操作系统】Windows 下隐藏电脑磁盘符
- hdu2717
- 算法导论之二叉搜索树
- 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母
- HDU 5113 Black And White(2014亚洲区北京站现场赛)
- 算法导论之基本的数据结构
- [C++]C++的客户/服务器模型
- 商城之RecyclerView 详细介绍
- 关于Activity的启动模式
- CUDA学习--内存处理之常量内存(4)