知识点:广搜

李煜东的例题讲的那么难,习题确这么简单,不过这个样子也对,把最精华的东西放到例题里面好好讲讲

#include <bits/stdc++.h>using namespace std;const int N = 205;struct node {int x, y;node() {}node(int a, int b): x(a), y(b) {}
};int n, m, xs, ys, xe, ye;
int dx[8] = {-2, -2, -1, 1, 2, 2, 1, -1};
int dy[8] = {-1, 1, 2, 2, 1, -1, -2, -2};
string s[N];int bfs() {queue<node> q;q.push(node(xs, ys));int dist[N][N];memset(dist, -1, sizeof(dist));dist[xs][ys] = 0;while (!q.empty()) {node now = q.front(); q.pop();if (now.x == xe && now.y == ye) return dist[now.x][now.y];for (int i = 0; i < 8; i++) {int x1 = now.x + dx[i];int y1 = now.y + dy[i];if (x1 < 1 || x1 > n || y1 < 1 || y1 > m) continue;if (dist[x1][y1] != -1 || s[x1][y1] == '*') continue;q.push(node(x1, y1));dist[x1][y1] = dist[now.x][now.y] + 1;}}return -1;
}int main() {cin >> m >> n;for (int i = 1; i <= n; i++) {cin >> s[i];s[i] = " " + s[i];for (int j = 1; j <= m; j++) {if (s[i][j] == 'K') { xs = i; ys = j; s[i][j] = '.'; }if (s[i][j] == 'H') { xe = i; ye = j; s[i][j] = '.'; }}}cout << bfs();return 0;
}

AcWing 188. 武士风度的牛相关推荐

  1. AcWing 188. 武士风度的牛(BFS,C++)

    AcWing 188. 武士风度的牛 题意 从一个起点遵循某种特殊规则走到终点,求最短的步数 分析 很显然,这题是bfs思想的应用. 1.首先输入数据,并在每次输入数据时判断起点和终点的坐标. 2.初 ...

  2. 算法提高课-搜索-最短路模型-AcWing 188. 武士风度的牛 :bfs、dist数组记录最小步数

    题目分析 来源:acwing 分析:马走日,这里用bfs遍历马的行走过程,输出到达终点的最小步数. 使用bfs求到每个点的最小步数,需要开一个dist[][]数组,来记录起点到某点的最小步数. 队列里 ...

  3. AcWing 188. 武士风度的牛 BFS 水题

    题目描述 农民John有很多牛,他想交易其中一头被Don称为The Knight的牛. 这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法). 虽然这头神奇的牛 ...

  4. 188.武士风度的牛

    188.武士风度的牛 总结: 先找到进入floodfill的条件 然后加入把起点加入队列并进行标记 只要队列不空就对格子进行扩展(要除去自己因为自己已经被覆盖过了) 然后判定是否有效(是否超出范围,是 ...

  5. 188 武士风度的牛(bfs)

    1. 问题描述: 农民 John 有很多牛,他想交易其中一头被 Don 称为 The Knight 的牛.这头牛有一个独一无二的超能力,在农场里像 Knight 一样地跳(就是我们熟悉的象棋中马的走法 ...

  6. 188. 武士风度的牛

    农民 John 有很多牛,他想交易其中一头被 Don 称为 The Knight 的牛. 这头牛有一个独一无二的超能力,在农场里像 Knight 一样地跳(就是我们熟悉的象棋中马的走法). 虽然这头神 ...

  7. 188. 武士风度的牛 C++ bfs(宽度优先搜索)

    农民John有很多牛,他想交易其中一头被Don称为The Knight的牛. 这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法). 虽然这头神奇的牛不能跳到树 ...

  8. 算法实践:武士风度的牛

    武士风度的牛 描述 这头神奇的牛像其它牛一样喜欢吃草,给你一张地图,上面标注了The Knight的开始位置,树.灌木.石头以及其它障碍的位置,除此之外还有一捆草.现在你的任务是,确定The Knig ...

  9. CH2906 武士风度的牛 BFS

    题目链接 http://noi-test.zzstep.com/contest/0x29%E3%80%8C%E6%90%9C%E7%B4%A2%E3%80%8D%E7%BB%83%E4%B9%A0/2 ...

最新文章

  1. JavaScript有哪三部分组成?
  2. 工信部部长苗圩于CITE发表致辞,指引三个方向推动国内电子信息产业持续发展...
  3. C++面试八股文快问快答のSTL篇
  4. [转] 理解SVG transform坐标变换
  5. 您的主机不满足在启用Hyper-V 或DeviceCredential Guard的情况下运行VMware player的最低要求
  6. Java练习 SDUT-1586_计算组合数
  7. html视频标签略缩图,JS可以截取video的标签视频缩略图吗?
  8. DHCP服务器--红色箭头
  9. 基于C4.5神经网络集成
  10. 什么是php 的精华,在用PHP开发中的精华和技巧总结
  11. python强制跳出while循环_python如何跳出while循环
  12. 代码随想录动态规划算法PDF
  13. CSS3颜色渐变整理
  14. linux中的本地化
  15. 用MicroPython开发ESP32-文件传输工具-ampy
  16. 完数什么意思_【寒假预习】人教版五年级数学(下册)知识点学习要点
  17. oracle中的userenv,Oracle 中的userenv()
  18. 赵小楼《天道》《遥远的救世主》深度解析(93)究竟真理真Xiang的踪迹
  19. 苹果手机iframe撑大父页解决办法
  20. 导入Excle数据至数据库 “外部表不是预期的格式”错误信息

热门文章

  1. POJ 1144 Network
  2. 【Ansys】什么软件模块是DS,它和workbench、mechanical的区别在哪里?
  3. elasti 时间范围查询
  4. 文化袁探索专栏——消息分发机制
  5. 拼题A 第一题 HMY
  6. VideoProc for mac(全能视频处理软件)
  7. #今日论文推荐# 文字秒变3D?苹果发布最新AI生成模型GAUDI,根据文字提示创建3D场景
  8. IE浏览器下载excel文件时不弹出下载保存提示框的解决方法
  9. CTA-敏感行为-AppOps方案
  10. SurfaceView和View的区别