当前位置: 首页 > news >正文

bfs dfs板子默写 真的好怕像上次一样这种题AC不了啊

Bfs的板子

#include <bits/stdc++.h>
using namespace std;
int n,m;int visited[100][100];int g[100][100];
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
void bfs(int x,int y)
{queue<pair<int,int> >p;//就是逗号 p.push({x,y});//多个的结构体打包 while(!p.empty()){auto it=p.front();p.pop();int cx=it.first;int cy=it.second;//这里加具体题目的终点判断返回值 for(int i=0;i<4;i++)//超级可乐没有for的 {int nx=x+dx[i];int ny=y+dy[i];//这里最全 剪枝 曼哈顿不用 if(nx<0||nx>=n||ny<0||ny>=m) continue;if(g[nx][ny]) continue;//合并成地图的也行 if(visited[nx][ny]) continue;visited[nx][ny]=1;p.push({nx,ny});}}
}
int main()
{cin>>n>>m;memset(visited,0,sizeof(visited));//多组数据的清空 for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>g[i][j];}}visited[0][0]=1;bfs(0,0);
}

Dfs的板子和回溯

#include <bits/stdc++.h>
using namespace std;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
int n,m;
int visited[100][100];int g[100][100];
void dfs(int x,int y)
{for(int i=0;i<4;i++){int nx=x+dx[i];int ny=y+dy[i];//题目的目标在这里 if(nx<0||nx>=n||ny<0||ny>=m) continue;if(visited[nx][ny]) continue;if(g[nx][ny]) continue;//剪枝 曼是T-nt-abs(sx-nx)-abs(sy-ny) <0||奇数跳过 visited[nx][ny]=1;dfs(nx,ny);//你就用全局变量吧老是忘记返回值 visited[nx][ny]=0;//退出房间回溯吧 }
} 
int main()
{cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>g[i][j];}}//这里剪枝 count和曼 visited[0][0]=1;//一万个牢记 dfs(0,0);
}
http://www.jsqmd.com/news/48646/

相关文章:

  • 贪心题目
  • 【做题记录】HZOJ 多校-数论/多校-字符串/多校-图论Ⅲ
  • 2025软件工程L班
  • 2025-11-23
  • Chainlit+LlamaIndex 多模态 RAG 开发实战7:从系统架构到功能落地,搞定 PDF/PPT/ 图片全类型文件处理 - 详解
  • 使用Ansible批量安装JDK
  • 使用OpenZeppelin编写可升级智能合约(代理) - all-in
  • 实用指南:【逻辑回归】从线性模型到逻辑回归
  • vuepress2.x支持vue2吗?
  • 贪心专题 1 做题记录
  • static 静态变量
  • 【IO多路转接】IO 多路复用之 select:从接口解析到服务器实战 - 详解
  • java sql注入的危害有哪些
  • 单片机控制继电器及其原理
  • 2025-09-10-Wed-T-Milvus
  • 【Linux】 层层递进,抽丝剥茧:调度队列、命令行参数、环境变量 - 指南
  • 字符串大小写转换
  • vitepress如何支持vue2组件
  • 2025.11.23
  • 20231427田泽航第十周预习报告
  • java linux环境变量
  • java linux服务器
  • 机器人世界杯物流联赛技术解析
  • fcitx5要一统江湖了
  • 2025 年上海金蝶软件定制开发代理商推荐榜出炉
  • 【开发者导航】全自动 AI 视频创作与发布工具:LuoGen-agent - 教程
  • 2025-09-10-Wed-T-AI基础知识
  • JAX 核心特性详解:纯函数、JIT 编译、自动微分等十大必知概念
  • java linux 进程
  • 截图工具