当前位置: 首页 > news >正文

苏州建站推广公司网站建设捌金手指花总二七

苏州建站推广公司,网站建设捌金手指花总二七,网站平台多少钱,网站建设方案汇报原题地址:P1443 马的遍历 - 洛谷 题目描述 有一个 nm 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为 n,m,x,y。 输出格式 一个 nm 的矩阵,代表…

原题地址:P1443 马的遍历 - 洛谷

题目描述

有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。

输入格式

输入只有一行四个整数,分别为 n,m,x,y。

输出格式

一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。

        该题可以用bfs广度优先搜索遍历来解决,因为广度优先遍历可以保证第一次访问某一个节点时得到的结果就是最短路径,完美的符合该题的题意。可以用stl类中的queue容器。即动态扩容的队列,可以有效地避免数组开的过大或过小,而发生错误。并且不能用延迟标记的方法,要立即标记当前的状态。我第一次就是用的延迟标记的方法,但是最后会超出队列的内存限制,再请教了deepseek之后,才了解到了延迟标记和立即标记的具体区别.

这也让我长见识了 。

具体代码如下:

#include <iostream>
#include <queue>
using namespace std;//每个结构体包含当前点的坐标以及到达该店所需要的步数
struct node{int a,b,step;
};int row,col;
int grid[405][405];
//马走日的八个方向
int dict[8][2] = {{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1},{-2,1},{-1,2},{1,2}};void bfs(int x,int y){//queue可以动态的分配内存,否则的话容易栈溢出queue<node> q;q.push({x,y,0});grid[x][y] = 0;while (!q.empty()){node qq = q.front();q.pop();int xx = qq.a;int yy = qq.b;int s = qq.step;for (int i = 0;i < 8;++i){int ix = xx + dict[i][0];int iy = yy + dict[i][1];if (ix >= 1 && ix <= row && iy >= 1 && iy <= col && grid[ix][iy] == -1){//立刻标记状态,如果使用延迟标记的话会进行重复入队的操作,会超出内存限制grid[ix][iy] = s + 1;q.push({ix,iy,s + 1});}}}
}
int main()
{int x,y;cin>>row>>col>>x>>y;for (int i = 1;i <= row;++i){for (int j = 1;j <= col;++j){grid[i][j] = -1;}}bfs(x,y);for (int i = 1;i <= row;++i){for (int j = 1;j <= col;++j){printf("%-3d  ",grid[i][j]);}cout<<endl;}return 0;
}

http://www.dtcms.com/a/535601.html

相关文章:

  • 网站推广是什么最新新闻热点事件2023
  • 网站怎么记录搜索引擎的关键词网站维护内容及费用
  • 网站建设有哪些软件有哪些内容网页设计网站开发
  • 大学专业宣传网站开发课题意义寮步网站建设
  • 网站连接微信支付鑫迪一键建站系统
  • 网站建设用户量分析做百度收录比较好的网站
  • 柳市网站优化sae 网站备案
  • 电子商务网站建设试卷品牌建设公司网站
  • 湖南建设工程信息网站apm搭建 wordpress
  • 建设个人网页登陆网站地方网站怎么做挣钱
  • 搭建自己的个人网站第五届中国国际进口博览会开幕
  • 泰州企业做网站模板网站建设咨询
  • 网站投放广告费用南昌网站建设工作
  • 企业网站策划应该怎么做jsp网站开发四库
  • 软件开发还是网站开发好广州金山大厦 网站建设
  • 眼镜 商城 网站建设推广方法策略
  • app开发和网站开发浙江建设银行网站
  • 广州网站建设360网站优化宝安最好的网站建设
  • 关于文化建设网站wordpress小工具没有
  • 成都网站建设 推广行网站首页建设方案
  • 建设校园门户网站方案网站开发专家
  • 伊春网络建站公司医院网站设计怎么做
  • 洛阳网站推广公司北京网站建设116net
  • 低价网站建设推广优化广州冼村房价
  • 甘孜建设机械网站首页网页编辑软件免费版
  • asp程序设计做网站wordpress 插件 打不开
  • 自己服务器可以做网站saas建站 cms
  • 做网站的类型定西地网站建设
  • 学习网站建设最简单的书响应式网站无法做百度联盟
  • 中国住房和城乡建设部查询网站6做公益网站有什么要求