巡逻机器人

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83498#problem/F

题目大意:

机器人在一个矩形区域巡逻,是一网格(m行和n列)。从左上角(1,1)到右下角(m,n)。网络格

中的一些格子是空地(用0表示),其他格子是障碍(用1表示)。机器人每次有4个方向走,但不能

连续穿越k障碍,求最短长度。

分析:

用bfs进行搜索,不过当遇到障碍的时候记录下,当遇到的障碍超过k时,返回到上一步。

 1 #include<iostream>
 2 #include<queue>
 3 #include<cstring>
 4 using namespace std;
 5 int n,m,k,t;
 6 int map[25][25];
 7 int d[4][2]= {1,0,-1,0,0,-1,0,1};
 8 int c[25][25][25];
 9 struct A
10 {
11     int x,y;
12     int count;
13     int l;
14     A(int x,int y,int count,int l):x(x),y(y),count(count),l(l) {}
15 };
16 int Do()
17 {
18     queue<A>q;
19     A a(1,1,0,0);
20     q.push(a);
21     c[1][1][0]=1;
22    while(!q.empty())
23     {
24         A now=q.front();
25          q.pop();
26         if(now.x==n&&now.y==m)
27             return now.count;
28         for(int i=0; i<4; i++)
29         {
30             int x=d[i][0]+now.x;
31             int y=d[i][1]+now.y;
32             int l=now.l;
33             if(map[x][y]==1)
34                 l++;
35                 else
36                 l=0;
37             if(l<=k&&c[x][y][l]!=1&&x>=1&&y>=1&&x<=n&&y<=m)
38             {
39                 c[x][y][l]=1;
40                 q.push(A(x,y,now.count+1,l));
41             }
42         }
43     }
44     return -1;
45 }
46 int main()
47 {
48     cin>>t;
49     while(t--)
50     {
51           memset(c,0,sizeof(c));
52         cin>>n>>m>>k;
53         for(int i=1; i<=n; i++)
54             for(int j=1; j<=m; j++)
55                 cin>>map[i][j];
56         cout<<Do()<<endl;
57     }
58     return 0;
59 }

 

转载于:https://www.cnblogs.com/fenhong/p/4678552.html

BFS 巡逻机器人相关推荐

  1. 巡逻机器人(BFS)

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

  2. UVA 1600 巡逻机器人

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 车站安防巡逻机器人未来发展趋势是什么?

    随着机器人行业的不断发展,人工智能技术逐渐取代部分人类工作,就拿车站安防巡逻机器人来说,通过结合人工智能技术来替代传统保安人员对车站进行安防巡逻,下面国辰机器人就从模块化.功能化以及布控化三个角度来分 ...

最新文章

  1. 各种flash的不同
  2. 常见的水平居中布局方式
  3. 【NLP】AAAI21最佳论文Runners Up!Transformer的归因探索!
  4. 给我一个兴趣点,我就能撬动一个行业
  5. 程序员都是吃青春饭的?32岁程序员面试直接被面试官送走,心衰!
  6. java springMVC生成二维码
  7. Windows终端(WT)添加conda命令行
  8. kettle-多文件合并
  9. 应用程序到偏好设置跳转 以及 应用程序之间的跳转
  10. java 模式匹配_Java 14 模式匹配,非常赞的一个新特性!
  11. 中缀表达式、前缀表达式、后缀表达式
  12. node.js连接数据库写接口
  13. MobileNet-SSD网络解析
  14. 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
  15. 徐思201771010132《面向对象程序设计(Java)》第十二周学习总结
  16. Linux互斥锁详细解读,看这一篇就够了
  17. Linux(RHEL7及CentOS7)下DNS服务器的搭建与配置
  18. 用matlab判断两个球是否相交,判断两个矩阵相交
  19. Blender Benchmark测试
  20. C语言程序设计(11.28)

热门文章

  1. 扇贝python_扇贝编程(python)手机版-扇贝编程app下载v1.1.30-汉化新世纪
  2. NR modulation 4-AM
  3. 推特开发者账号【推特开发者文档系列3】——推特标准接口API的请求频率限制说明
  4. PacketTrace基本使用
  5. 数电基础 逻辑门电路 学习截图
  6. spark算子详细介绍(v、k-v、vv类型)
  7. python边缘坐标提取_python-从Shapely中的多边形中提取点/坐标
  8. HBase --------- 深入了解HBase架构(架构组建及HBase工作原理)
  9. 基于LLVM编译器的IDA自动结构体分析插件
  10. 零基础可以学板绘吗?怎么自学板绘?