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

【机器人移动】暴力dfs和层次遍历bfs

暴力,深搜每一种可能,使用

struct vertice{
int x,y;
bool operator<(onst vertice& other)const{if(x != other.x)return x < other.x;return y < other.y;}
}
vertice v={x,y};

保存顶点,使用map:

map<vertice,int> mp;
vertice v = {x,y};
mp.insert({v,1});

来插入键值;
使用mp.count(v)来判断是否已经有该点被访问过;

然后dfs深搜遍历;

正确做法:bfs广搜;
并且,使用dx,dy来存入移动的方向,减少代码量;

其中,关键是我们使用step存放限制步数,用于停止运行;
因此bfs队列的结构是queue<pair<vertice,int>> q;分别是点和step;
代码如下:

#include<iostream>
#include<map>
#include<queue>
using namespace std;
int n,k;
int x0,y0;
struct vertice{int x,y;bool operator<(const vertice& other) const {if (x != other.x) return x < other.x;return y < other.y;}
};//点集
map<vertice,int> mp;bool isValid(int x,int y){return (1<=x&&x<=n)&&(1<=y&&y<=n);
}
int dx[8] = {-1,-2,-2,-1,1,2,2,1};
int dy[8] = {2,1,-1,-2,-2,-1,1,2};int main(){cin >> n >> k;cin >>x0 >>y0;queue<pair<vertice,int>> q;vertice v = {x0,y0};mp.insert({v,1});q.push({v,0});while(!q.empty()){auto [cur,step] = q.front();//也可以写成:pair<vertice,int> temp = q.front();//vertice cur = temp.first;//int step = temp.second;//写成auto [cur,step] = q.front();属于简化的写了;q.pop();if(step == k)continue;step++;for(int i = 0;i < 8;i++){if(isValid(cur.x+dx[i],cur.y+dy[i])){vertice v = {cur.x+dx[i],cur.y+dy[i]};if(mp.count(v)==0){mp.insert({v,1});q.push({v,step});}}}}cout << mp.size()<<endl;
}
http://www.zskr.cn/news/61801.html

相关文章:

  • 【前端从0到1实战】第9篇:构建“无限滚动列表” (Infinite Scroll)
  • 2025 西安网站建设公司推荐 3 家口碑好的网站制作公司
  • Omnissa App Volumes 4, version 2509 - 实时应用程序交付系统
  • 2025 年靠谱的西安外贸网站建站行业内最具实力的三家公司
  • aws 导入导出资源脚本
  • 2025年11月安徽道路注浆厂家电话推荐:空鼓公路路基地基厂房地坪注浆公司与工程应用口碑!
  • 【前端从0到1实战】第8篇:构建“拖拽看板” (Drag Drop Kanban)
  • iac工具-Terraform
  • netcore 项目健康检查(healthcheck)
  • 2025年质量好的四川轻集料混凝土热门厂家排行榜单
  • 2025年市面上四川净化板厂家最新权威推荐排行榜
  • 【LVGL】微调器部件
  • 2025年下半石材雕刻机/墓碑雕刻机/绳锯机品牌综合推荐指南TOP10
  • DC-DC转换器DIO8016驱动适配
  • 【前端从0到1实战】第7篇:构建“深色模式切换”与本地存储 (Dark Mode LocalStorage)
  • 【多所高校组织】第七届水利与土木建筑工程国际学术会议(HCCE 2025)
  • 2025年专业的信号发生器品牌TOP5推荐
  • 2025 年木塑地板厂家最新推荐,聚焦资质、案例、售后的五家品牌深度解读室外木塑地板厂家/共挤木塑地板厂家/wpc木塑地板厂家/防腐木塑地板厂家
  • Linux的进程控制 - 教程
  • 【webpack】Webpack 最常用的 20 道面试题总结 - 教程
  • 留学机构排行榜TOP10:2025申请季的黄金法则!
  • 2025年11月深圳装修设计公司最新推荐,办公室、酒店、展厅、写字楼、厂房、公寓、店铺工装装修多维度综合考量
  • 2025 最新制氧机经销商权威推荐:国际协会测评认证,聚焦品质与服务的靠谱选择云南制氧机/昆明制氧机/美之氧制氧机/映美制氧机/鱼跃制氧机公司推荐
  • 2025年效果好的助眠的口服液供货商权威推荐榜单:改善睡眠质量的产品‌/安神助眠的产品‌/效果好的助眠产品源头供货商精选
  • 【LVGL】消息框部件
  • 实用指南:Day49 | J.U.C集合-CopyOnWriteArrayList详解
  • 深度揭秘 HBase 协同机制:HMaster、RegionServer 与 ZooKeeper 的三角之恋
  • permutation
  • 2025英国留学机构十大口碑推荐榜!教育行业认证,唯寻国际教育摘冠
  • 中美电力对比