自动驾驶系统 bfs
一家科技公司有一块试验地用于测试自动驾驶系统。试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列。试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移动一格。汽车不能走出边界,也不能碰到障碍格。
你需要编写自动驾驶系统中的导航部分。在测试的一开始,试验地里没有任何障碍。你的程序会依次收到q条信息,它们的格式是以下两种之一:
? x y,表示询问从第1行第1列的格子出发,到达第x行第y列的格子最少需要移动多少次。
* x y,表示第x行第y列的格子变成了障碍格。
Input
每组数据第一行包含三个正整数n,m,q(1≤n,m≤50,1≤q≤100000),表示试验地的尺寸以及信息的数量。
接下来m行,每行描述一条信息。其中1≤x,y≤n,保证每个格子不会被重复变成障碍格多次,且(1,1)不会变成障碍格。
Output
Sample Input
1
3 4 5
? 2 2
* 1 2
? 2 2
* 2 1
? 2 2
Sample Output
2
2
-1
Author
Source
#include<bits/stdc++.h>
using namespace std;
//input
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);i--)
#define RI(n) scanf("%d",&(n))
#define RII(n,m) scanf("%d%d",&n,&m);
#define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define RS(s) scanf("%s",s);
#define ll long long
#define inf 0x3f3f3f3f
#define REP(i,N) for(int i=0;i<(N);i++)
#define CLR(A,v) memset(A,v,sizeof A)
//////////////////////////////////
#define N 500+5
int dx[]={,,,-};
int dy[]={,,-,};
int n,m,ex,ey;
int d[N][N];
int mp[N][N];
struct node
{
int x,y;
};
void bfs()
{
CLR(d,-);
d[][]=;
node u,v;
u.x=;
u.y=;
queue<node>q;
q.push(u);
while(!q.empty())
{
u=q.front();q.pop();
rep(i,,)
{
node v=u;
v.x+=dx[i];
v.y+=dy[i];
if(d[v.x][v.y]!=-)continue;
if(mp[v.x][v.y]==)continue;
if( !(v.x>=&&v.x<=n&&v.y>=&&v.y<=m) )continue;
d[v.x][v.y]=d[u.x][u.y]+;
q.push(v);
}
}
}
int main()
{
int cas;
RI(cas);
while(cas--)
{
CLR(mp,);
int q;
RIII(n,m,q);
bfs();
while(q--)
{
char s[];
RS(s); RII(ex,ey);
if(s[]=='*')
{
mp[ex][ey]=;
bfs();
}
else printf("%d\n",d[ex][ey]);
}
}
return ;
}
自动驾驶系统 bfs的更多相关文章
- zzL4自动驾驶中感知系统遇到的挑战及解决方案
本次分享的大纲: Perception Introduction Sensor Setup & Sensor Fusion Perception Onboard System Percepti ...
- 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统
日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...
- 波音,自动驾驶bug未修复,致346人丧生!5个月内两次坠毁!其中,包括8名中国公民
一,波音737 MAX再次坠毁 继2018年10月29日,印尼波音737MAX飞机坠入爪哇海,导致178名乘客不幸遇难后,时隔不足5月,上周日,埃塞俄比亚航空公司一架波音737MAX客机在飞往肯尼亚途 ...
- [原]JSBSim 自动驾驶(浅出)
jsbsim的脚本文件分为几大类: 1.系统脚本: systems 包含通用飞机各部分功能模块组件以及自动飞行控件:Autopilot.xml 和 自动飞行的算法控件:GNCUtilities.x ...
- zz“老司机”成长之路:自动驾驶车辆调试实践
随着自动驾驶技术的发展,一辆新车从被改装到上路需要经过的调试流程也有了许多提升.今天,我希望结合自己之前的调车经验来跟大家分享一下我们是如何将系统的各个模块逐步上车.调试.集成,进而将一辆“新手”车培 ...
- Google Waymo 2017自动驾驶安全技术报告(一)
2017年10月Google Waymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生.这份报告对Waymo的自动驾驶 ...
- Google Waymo自动驾驶安全技术报告(二)
Waymo的技术在公开道路上.封闭测试场.仿真器进行了广泛的测试,所以可以保证自动驾驶系统的每一部分在其ODD内都有强大.可靠.安全的处理能力. Waymo的自动驾驶系统由三个相互独立.严格测试的子系 ...
- 【转】从技术和成本算笔账,自动驾驶L3过渡到L4有多难?
转自:http://www.sohu.com/a/160479216_121787 从技术和成本算笔账,自动驾驶L3过渡到L4有多难? 2017-07-28 09:34 英伟达解决方案架构师程亚冰认为 ...
- 发布AI芯片昆仑和百度大脑3.0、L4自动驾驶巴士量产下线,这是百度All in AI一年后的最新答卷...
机器之心报道,作者:李泽南. 去年的 7 月 5 日,百度在北京国际会议中心开办了首届「AI 开发者大会」.在会上,百度首次喊出了「All in AI」的口号.一年的时间过去了,今天在同样地点举行的第 ...
随机推荐
- JS 操作数组对象
我们在操作数组时,加入数组中是以对象的形式存在,例如: 那么我们会涉及到去重复,去掉为0的数组中的对象,js代码如下: function getItemList(gid, totalMoney, ad ...
- input file 多张图片上传 获取地址 ——fileReader
//上传图片 $('#files').change(function(e){ var fil = this.files; var m =0; if(fil.length>3){ alert('重 ...
- C# Winform控件对透明图片重叠时导致图片不透明的解决方法(转)
在Winform中如果将一个透明图片放在窗体上能正常显示透明,但是如果将该图片放在另一个控件上会导致不能显示透明效果. 解决这种情况,可以采取在控件上使用GDI+绘画出透明图片. 这里我们就以一个pi ...
- 安装python的pip模块
安装python的pip模块 网址https://pypi.python.org/pypi/pip 选择,点击下载 将文件解压到C:\Users\Administrator\AppData\Local ...
- java+appium 自动化环境搭建
1.安装JDK1.7及以上 2.下载解压sdk并且配置环境变量: ANDROID_HOME:...\adt-bundle-windows-x86_64-20140702\sdk PATH:%ANDRO ...
- JSP的内置对象及方法
request表示HttpServletRequest 对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,header, 和session 数据的有用的方法.response 表 ...
- Confluence 6 管理协同编辑 - 最大编辑者的限制
我们限制为最多 12 个用户可以同时对一个页面进行编辑.这个意味着当一个页面已经有 12 个用户正在编辑了,13 个用户是不能进入编辑界面的,直到 12 个用户中有一个用户已经离开了. 系统管理员可以 ...
- Confluence 6 数据收集隐私策略
为什么 Confluence 收集使用数据? 针对 Confluence 我们很自豪 Confluence 是这个星球上最高效和强大的协作工具,我们也计划继续保持这个特性,尽我们最大的努力提供更新的 ...
- Confluence 6 为登录失败配置使用验证码
如果你具有 Confluence 管理员的权限,你可以限制 Confluence 登录失败的最大尝试次数.在给予最大登录失败尝试(默认为 3 次)次数后,Confluence 将会在用户进行再次尝试的 ...
- SpringData分页功能
在SpringData中实现分页功能我们需要将接口实现PagingAndSortingRepository这个接口提供了分页查询的方法 Page<T> findAll(Pageable p ...