题目大意:给定一个网络(1m,n20)m是row,n是col,求从(1,1)到点(m,n)的最短路径,其中0是空地,1是障碍物,给定k,表示不能连续穿过k个障碍物,

方法:bfs,其中必须要注意的是每个点的访问不能用二维数组储存,因为不同走法,每个点的累积穿过障碍物不同。假如第一次走过这个点,已经穿过了K个障碍物,下一次穿过这个点的时候可能就是累积穿过G个障碍物,所以这种情况要考虑在内。解决方法是设置三维数组,前2维存坐标,最后一维存累积穿过障碍物个数。

代码:

#include<iostream>
#include <string>
#include <string.h>
#include <queue>
using namespace std;
const int MAX = 20 + 5;
int mp[MAX][MAX]; int m, n, bar;
int vis[MAX][MAX][MAX];
int directx[4] = { 1,-1,0,0 };
int directy[4] = { 0,0,1,-1 };
bool isflag = false;
struct Node {int x, y;int step; int layer;Node() {}Node(int _x=1, int _y=1,int _step=0,int _layer=0) :x(_x), y(_y),step(_step),layer(_layer) {}
};
void bfs() {queue<Node> q;q.push(Node(1, 1,0,0));vis[1][1][0] = 1;while (!q.empty()) {Node  t = q.front(); q.pop();if (t.x == m && t.y == n) { isflag = true; cout << t.step<< endl; break; }for (int i = 0; i < 4; i++) {int x0 = t.x + directx[i];int y0 = t.y + directy[i];int layer = t.layer;if (mp[x0][y0]) {layer++;}else layer = 0;if (layer <=bar&&!vis[x0][y0][layer]&&x0>=1&&x0 <= m && y0 >= 1 && y0 <= n) {vis[x0][y0][layer] = 1;q.push(Node(x0, y0,t.step+1,layer));}}}
}
int main()
{int kase;cin >> kase;while (kase-- > 0) {isflag = false;memset(mp, 0, sizeof(mp));memset(vis, 0, sizeof(vis));cin >> m >> n;cin >> bar;for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {cin >> mp[i][j];}}bfs();if (!isflag)cout << "-1" << endl;}return 0;
}

UVa1600 PatrolRobot 巡逻机器人(bfs)相关推荐

  1. BFS 巡逻机器人

    巡逻机器人 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83498#problem/F 题目大意: 机器人在一个矩形区域巡逻, ...

  2. 巡逻机器人(BFS)

    巡逻机器人问题(F - BFS,推荐) Description   A robot has to patrol around a rectangular area which is in a form ...

  3. UVA 1600 巡逻机器人

    巡逻机器人 Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu 题意·:一个机器人从(1,1)点走到( ...

  4. 瓦力机器人故障维修_大眼萌!5G巡逻机器人亮相乌镇,24小时值守互联网大会...

    大大的眼睛,方方的身体, 一台酷似"瓦力"的机器人 出现在互联网之光新展馆. 原来这是嘉兴公安的"新同事"-5G巡逻机器人,今天是它第一天上岗.这也是本次世界互 ...

  5. 巡逻机器人用应用的pc端车牌识别

    PC端车牌识别产品形态 加密锁.车牌识别SDK开发包.开发文档 pc端车牌识别使用背景 人工智能的发展,京东送件也用上了送件机器人,某机器人公司如今研发出巡逻机器人,用于对可以车辆的抓拍与检查,在停车 ...

  6. 安防巡逻机器人在不同应用场景下的作用是什么?

    目前,传统的安防行业正在加速人工智能在该领域的集成和应用.随着人工智能安防技术进一步加强,如今,很多城市都开始纷纷打造一座智慧型城市,安防机器人也普遍出现在各个行业当中,下面,国辰机器人就为大家来盘点 ...

  7. 工业机器人 郝卫东_智能保安巡逻机器人论文

    第 1 页 共 5 页 智能保安巡逻机器人 黄海明 杨雷 宋跃 赖思沅 ( 东莞理工学院电子工程学院,广东 东莞 523808) 摘 要: 设计一个具有自动远程值守. GPRS 遥控. 远程监控等功能 ...

  8. 水下自动循迹机器人_一种夜间巡逻机器人自动循迹方法

    一种夜间巡逻机器人自动循迹方法 [技术领域] [0001]本发明涉及机器人应用技术领域,尤其涉及一种夜间巡逻机器人自动循迹方法. [背景技术] [0002]目前,博物馆.会展中心以及公园等场所的夜间安 ...

  9. 明光市机器人_明光市安保巡逻机器人在线咨询

    明光市安保巡逻机器人在线咨询hagj 根据IFR统计数据显示,2019年服务机器人市场规模约22亿美元,约占全球25%市场份额,电子学会预测未来这一比例有望达到30%.2015年到2019年间,服务机 ...

最新文章

  1. cdh的集成phoenix安装_环境篇:Kylin3.0.1集成CDH6.2.0
  2. VMware虚拟化--ESXi安装时考虑因素
  3. python3 限定方法参数 返回值 变量 类型
  4. 树形DP题目。。。转载
  5. 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符
  6. 动态存储器是什么意思
  7. shiro 拦截未登录的ajax_Shiro是如何拦截未登录请求的(二)
  8. 通过思科构造局域网_cisco设备构建典型局域网
  9. 【服务端渲染】之 Vue SSR
  10. [JSON]2017年最新县及县以上行政区划代码
  11. 新编16 32位微型计算机原理及应用,新编16/32位微型计算机原理及应用(第5版)...
  12. psm倾向得分匹配法举例_【计量地图】倾向得分匹配法(PSM)理论、操作与案例...
  13. Thinkpad E430c使用u盘安装系统
  14. 线下娱乐“换血”,沉浸式体验会成为下一个10年的主题吗?
  15. 华为ensp——企业网络的设计与实现【方案测试验证】
  16. 研发人员的几个典型性格特征
  17. mac系统共享服务器,mac 链接共享服务器
  18. java毕业设计流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试
  19. 眼睛疲劳及干涩的防治
  20. 区块链防守铁娘子和她的安全军团

热门文章

  1. springboot-websocket-netty
  2. Java领域的对象如何传输-如何解决报错的问题呢?
  3. ConcurrentHashMap的源码分析-resizeStamp
  4. byte和bit的关系
  5. 区域数据导入功能(在服务端接收上传文件)
  6. 使用域名访问后台页面
  7. 配置解决中文乱码的过滤器
  8. Direct交换器-编写生产者
  9. 200822C阶段一文件
  10. ubuntu/linux运行shell脚本sudo自动输入密码(亲测可以)