【HDU 2612 Find a Way(BFS)】(兼BFS入门笔记)

这篇博客介绍了HDU 2612 Find a Way的问题,结合BFS(广度优先搜索)入门知识进行讲解。作者讨论了BFS的基本原理,将其比喻为年轮蛋糕,并提供了C++的BFS模板。题目中存在到达不了某些KFC的情况,传统的搜索方法会导致超时,因此需要更高效的解决方案。文章适合初学者理解BFS和问题解决策略。
摘要由CSDN通过智能技术生成

【HDU 2612 Find a Way(BFS)】(兼BFS入门笔记)

原题入口:
http://acm.hdu.edu.cn/showproblem.php?pid=2612

第一篇在CSDN的博客就写它了吧……
这道题说简单不简单(菜鸡疯狂TLE)
说难也不难(大佬一会儿就写完了)
说到BFS 什么是BFS?
(所以先简单说说BFS再写这道题吧)
BFS中文叫广度优先搜索,从起始状态向后一层一层的搜索,像年轮蛋糕一样(超爱吃年轮蛋糕)。
在C/C++中目前学会的只有通过队列实现。
BFS基本架构如下(因为学校先教C语言所以我写的C++基本就是用了C++头文件的C语言):

#include <queue>
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define INF 0x3fffffff

using namespace std;

int n,m,sx,sy,tx,ty,direct;
int vis[105][105];
char s[105][105];
int dx[4] = {
  0,0,1,-1};
int dy[4] = {
  1,-1,0,0};
struct Node
{
    int x,y,step;
};
queue<Node>q;
void bfs(int sx,int sy) //! 这里int和void看情况 不做赘述
{
    while (!q.empty()) q.pop();
    memset(vis,0,sizeof(vis));
    Node st;
    st.x = sx;
    st.y = sy;
    st.step = 0;
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值