思路 :

  • 起点记录后改为普通点
  • 给迷宫周围加一圈’#’
  • 速度作用是循环,如果循环内碰撞,就return了
  • 判断碰撞 :先是越界,还有’#’,然后就是斜向的判断了
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <unordered_set>using namespace std;const int N = 55;int n, m, q;
char g[N][N];
int sx, sy;
int v, dir;int dx[] = {-1, -1, 0, 1, 1, 1, 0, -1};
int dy[] = {0, 1, 1, 1, 0, -1, -1, -1};bool move(char ch)
{if (ch == 'L') dir = (dir + 7) % 8;if (ch == 'R') dir = (dir + 1) % 8;if (ch == 'U') v ++ ;if (ch == 'D') v = max(v - 1, 0);for (int i = 1; i <= v; i ++ ){int nx = sx + dx[dir], ny = sy + dy[dir];if (nx < 1 || nx > n || ny < 1 || ny > m || g[nx][ny] == '#') return false;if (dir == 1 && g[sx - 1][sy] == '#' && g[sx][sy + 1] == '#') return false;if (dir == 3 && g[sx + 1][sy] == '#' && g[sx][sy + 1] == '#') return false;if (dir == 5 && g[sx + 1][sy] == '#' && g[sx][sy - 1] == '#') return false;if (dir == 7 && g[sx - 1][sy] == '#' && g[sx][sy - 1] == '#') return false;sx = nx, sy = ny;}return true;
}int main()
{ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);cin >> n >> m;for (int i = 1; i <= n; i ++ )for (int j = 1; j <= m; j ++ ){cin >> g[i][j];if (g[i][j] == '*') sx = i, sy = j, g[i][j] = '.';}cin >> q;for (int i = 1; i <= q; i ++ ){char ch;cin >> ch;if (move(ch)) cout << sx << ' ' << sy << endl;else{v = 0;cout << "Crash! " << sx << ' ' << sy << endl;}}return 0;
}

驾驶卡丁车 模拟,迷宫(女赛)相关推荐

  1. Cognata自动驾驶仿真模拟之上海篇

    Cognata自动驾驶模拟仿真云平台作为一个高能效云计算平台,提供贯穿研发迭代的完整端到端闭环的自动驾驶模拟仿真解决方案,用户可以在该模拟仿真平台中验证各种ADAS&AD算法(包括完整的感知与 ...

  2. 音乐游戏 简单模拟,字符串,cin.get,getchar,流同步(女赛)

    结论 : 如果要关闭流同步ios::sync_with_stdio(false),就不能使用getchar()getchar()getchar(),但可以改用cin.get()cin.get()cin ...

  3. 几款自动驾驶测试模拟仿真平台

    如果你觉得还行的话,就点点文章末右下角的"好看"支持下 自动驾驶在真实的路面进行测试要面临着复杂多变的环境以及安全隐患,通过利用仿真模拟软件检测算法.也可以训练无人车基于虚拟数据或 ...

  4. 连锁商店 状态压缩dp(女赛)

    题意 : 每个点都属于一家公司,每个点都对应一个权值.对于一条路径,属于同一家公司的一些点的贡献只能被算一次.给一张图,路径只能从小往大走,问从1走到每个点路径上分别的最大权值和 思路 : n最大为3 ...

  5. 修建道路 贪心,思维(女赛)

    思路 : 由于每建一条路的花费是这两个下标之间所有数的最大值,因此要让花费尽可能小,就要让下标尽可能接近,所以想到相邻两个连边,且这样刚好n - 1条路 #include <iostream&g ...

  6. 公交线路 思维,分支(女赛)

    思路 : 分类讨论x和y的相对大小关系来确定正向 开两个变量ans表示正向和cnt表示反向,分别考虑正向和反向的情况,如果ans和cnt都等于m(每个站点都符合)说明不确定,如果ans等于则正确,否则 ...

  7. HDU-6290 奢侈的旅行 2018女赛 Dijkstra堆优化

    又因为cost=log2∗((level+ai)/level)cost=log2*((level+a_i)/level)cost=log2∗((level+ai​)/level),cost会带着log ...

  8. 女赛--Girl Love Value (01背包)

    题意:从n个男生里选k个,每个男生的初始好感度为l[i],每选一个后,好感度-b[i],求最大的好感度 思路:乍一看是贪心,但是b对于每个人的影响力度不同,所以不能贪心,但是对于确定的个k个人的顺序还 ...

  9. java模拟加速匀速减速_【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统

    [JavaSE练习]面向对象_练习_模拟汽车的自动驾驶系统 [JavaSE练习]面向对象_练习_模拟汽车的自动驾驶系统 模拟汽车驾驶系统 定义一个交通工具的类,包括: 属性:速度 方法:设置速度,加速 ...

最新文章

  1. 一文了解Python常见的序列化操作
  2. 2021年春季学期-信号与系统-第六次作业参考答案-第九小题
  3. SQL SERVER数据库多条件查询
  4. 浅谈导航电子地图的组成和制作流程
  5. 实现两个点集的欧式距离和cos距离和索引值寻找(含有两种解法,for循环和矩阵操作)
  6. 全选文字的快捷键_如果我是一个快捷键,我希望是?为什么?
  7. 如何调用gitee仓库真实图片链接
  8. [django]自定义标签和过滤器
  9. sql聚合函数及分组的注意事项
  10. AspNet WebApi OData 学习
  11. Modelsim下载安装【Verilog】
  12. 最新修复版微信H5漂流瓶V2.0更新版本 社交漂流瓶H5源码
  13. 1.8万字详解实时数仓建设方案
  14. day03_雷神_文件操作
  15. linux下安装nvm
  16. git撤回上一次push
  17. 地级市房价月度数据(2009-2021)
  18. 计算机直接切换到桌面,屏幕如何快速切换桌面
  19. 使用Git时,Failed to connect to github.com port 443 after 21100 ms: Timed out
  20. Yann LeCun:深度学习与人工智能的未来(附PPT与译文)

热门文章

  1. SAP Classification(物料特性)
  2. smartform连续打印,并自动补充空行
  3. [转]大数据+HR”不再是忽悠
  4. 电子商务平台支付接口开发原理及流程
  5. 性能超强悍 戴尔 R920服务器
  6. SAP常见问题与解决办法 2
  7. 软饮赛道竞争正酣,农夫山泉跨界遭遇“拦路虎”?
  8. python面向对象的三个基本特征 含义和作用简介_面向对象语言的三个基本特征各自特点及优势...
  9. SQL语言之DQL语言学习(九)多表查询/链接查询 SQL99学习
  10. BUUCTF(pwn)[BJDCTF 2nd]secret