POJ 3278 经典BFS

时间:2022-09-15 09:18:46

进一步了解了bfs;

题意:给你n,然后用+,-,*三种运算使n变成k;

漏洞:在算出新的数字之后,一定要判边界,否则RE,而且在每一步后面都得加判断是否等于K,如果是即刻退出,否则WA,判这个的时候需要顺序;

不过不明白为什么bfs这两个顺序为啥结果不同

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#define N 101000
using namespace std;
int d[],vis[];
int k,n;
int OK(int t)
{
if(t < || t > N)
return ;
return ;
}
int bfs()
{
queue<int> q;
q.push(n);
memset(d,,sizeof(d));
memset(vis,,sizeof(vis));
d[n] = ;
vis[n] = ;
int s;
while(!q.empty())
{
int t = q.front();
q.pop();
// if(s == k)///满足条件才能到这一条
// return d[s];
for(int i=; i<; i++)
{
if(i==) s = t + ;
if(i==) s = t - ;
if(i==) s = t * ;
if(OK(s)&&!vis[s])
{
vis[s] = ;
q.push(s);
d[s] = d[t] + ;
}
else
continue;
if(s == k)///满足条件才能到这一条,放在上边就错了,为啥啊
return d[s];
}
}
return -;
}
int main()
{
while(~scanf("%d%d",&n,&k))
{
if(n>=k)
cout<<n-k<<endl;
else
cout<<bfs()<<endl;
}
return ;
}

POJ 3278 经典BFS的更多相关文章

  1. poj 3278 简单BFS

    题意:给定农夫和奶牛的初始位置,农夫可以当前位置+1.-1.*2三种移动方式,问最少需要多少分钟抓住奶牛 AC代码: #include<cstdio> #include<cstrin ...

  2. 【BFS】POJ 3278

    POJ 3278 Catch That Cow 题目:你要去抓一头牛,给出你所在的坐标和牛所在的坐标,移动方式有两种:要么前一步或者后一步,要么移动到现在所在坐标的两倍,两种方式都要花费一分钟,问你最 ...

  3. BFS POJ 3278 Catch That Cow

    题目传送门 /* BFS简单题:考虑x-1,x+1,x*2三种情况,bfs队列练练手 */ #include <cstdio> #include <iostream> #inc ...

  4. POJ 3278 Catch That Cow(赶牛行动)

    POJ 3278 Catch That Cow(赶牛行动) Time Limit: 1000MS    Memory Limit: 65536K Description - 题目描述 Farmer J ...

  5. catch that cow POJ 3278 搜索

    catch that cow POJ 3278 搜索 题意 原题链接 john想要抓到那只牛,John和牛的位置在数轴上表示为n和k,john有三种移动方式:1. 向前移动一个单位,2. 向后移动一个 ...

  6. &lbrack;ACM训练&rsqb; 算法初级 之 搜索算法 之 广度优先算法BFS &lpar;POJ 3278&plus;1426&plus;3126&plus;3087&plus;3414&rpar;

    BFS算法与树的层次遍历很像,具有明显的层次性,一般都是使用队列来实现的!!! 常用步骤: 1.设置访问标记int visited[N],要覆盖所有的可能访问数据个数,这里设置成int而不是bool, ...

  7. poj 3278 Catch That Cow (bfs)

    题目:http://poj.org/problem?id=3278 题意: 给定两个整数n和k 通过 n+1或n-1 或n*2 这3种操作,使得n==k 输出最少的操作次数 #include<s ...

  8. POJ 3278 Catch That Cow&lpar;BFS&comma;板子题&rpar;

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88732   Accepted: 27795 ...

  9. POJ 3278 Catch That Cow(模板——BFS)

    题目链接:http://poj.org/problem?id=3278 Description Farmer John has been informed of the location of a f ...

随机推荐

  1. 好玩的Handler

    Android提供了Handler和Looper来满足线程间的通信; Handler和Activity的任务栈不同,它是先进先出原则; Handler:你可以构造Handler对象来与Looper沟通 ...

  2. 【ZOJ】1015 Fishing Net

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1015 题意:给出一个n个点的无向图,询问是否为弦图,弦图定义为对于图中任意 ...

  3. 关于server的一些小记

    一. 批量创建用户 1. Import-Module ActiveDirectory 2. import-csv e:\users\newusers.csv | 3. New-ADUser -path ...

  4. Win10遇上Kindle就蓝屏

    在使用 Kindle 连接 Win10 时会出现蓝屏现象,现在,微软承认 Windows 10 插入 Kindle 导致蓝屏问题,并表示目前正着手制作补丁.微软表示:“我们承认确实存在当Kindle ...

  5. AVCaptureDevice的几个属性

    AVCaptureDevice.h,主要用来获取iphone一些关于相机设备的属性. AVCaptureDevice.h,必须要引入AVFoundation.framework包. 1. 前置和后置摄 ...

  6. Ubuntu系统下为IDEA创建启动图标

    默认情况下,ubuntu将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,需要在该目录下创建一个名为“idea.desktop”的文件. ...

  7. css权重计算

    第一等:代表内联样式,如: style=””,权值为1000.    第二等:代表ID选择器,如:#content,权值为100.    第三等:代表类,伪类和属性选择器,如.content,权值为1 ...

  8. 你不知道的JS之作用域和闭包(二)词法作用域

    原文:你不知道的js系列 词法作用域(Lexical Scope) Lex time 一个标准的编译器的第一个阶段就是分词(token化) 词法作用域就是在词法分析时定义的作用域.换句话说,词法作用域 ...

  9. vs2015和Oracle在一起时的Shit问题

    VS2015在连接Oracle时,必须要安装到一个不含有空格的目录中去,否则连接不上Oracle,至于为什么,不知道,鬼知道,日的. 如果你不幸以前安装过VS2015,安装到它的默认的什么“progr ...

  10. JavaScript正则式练习

    使用正则式匹配第一个数字和最后一个数字,使用环视 str2 = 09051 : Fast Food Restaurants - Concession Stands/Snack Bars Delicat ...