洛谷P1443 马的遍历——广搜

简介: 洛谷P1443 马的遍历——广搜

题目描述

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

输入格式

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

输出格式

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

输入输出样例

输入

3 3 1 1


输出

0    3    2    

3    -1   1    

2    1    4    



说明/提示

数据规模与约定

对于全部的测试点,保证1≤x≤n≤400,1≤y≤m≤400。


#include<iostream>
#include<iomanip>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
int n, m, sx, sy;
int mp[410][410];
int xx[] = { 2,2, 1, 1,-1,-1,-2,-2 };
int yy[] = { 1,-1,2,-2, 2,-2,1,-1 };
struct node
{
  int x, y, s;
};
int main()
{
  cin >> n >> m >> sx >> sy;
  memset(mp, -1, sizeof(mp));
  queue<node>q;
  node t;
  t.x = sx; t.y = sy; t.s = 0;
  q.push(node{ sx,sy,0 });
  mp[sx][sy] = 0;
  while (!q.empty())
  {
    for (int i = 0; i < 8; i++)
    {
      int dx = xx[i] + q.front().x;
      int dy = yy[i] + q.front().y;
      if (dx >= 1 && dx <= n && dy >= 1 && dy <= m && mp[dx][dy] == -1)
      {
        q.push(node { dx, dy, q.front().s + 1 });
        mp[dx][dy] = q.front().s + 1;
      }
    }
    q.pop();
  }
  for (int i = 1; i <= n; i++)
  {
    for (int j = 1; j <= m; j++)
    {
      printf("-5%d", mp[i][j]);
    }
    cout << endl;
  }
  return 0;
}
目录
相关文章
|
6月前
|
人工智能 运维 算法
AI加持下的网络流量管理:智能调度还是流量黑洞?
AI加持下的网络流量管理:智能调度还是流量黑洞?
259 8
|
11月前
|
存储 人工智能 算法
【AI系统】计算图的优化策略
本文深入探讨了计算图的优化策略,包括算子替换、数据类型转换、存储优化等,旨在提升模型性能和资源利用效率。特别介绍了Flash Attention算法,通过分块计算和重算策略优化Transformer模型的注意力机制,显著减少了内存访问次数,提升了计算效率。此外,文章还讨论了内存优化技术,如Inplace operation和Memory sharing,进一步减少内存消耗,提高计算性能。
575 34
【AI系统】计算图的优化策略
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何从指定的savepoint恢复任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用问题之如何从指定的savepoint恢复任务
|
存储 并行计算 算法
C++动态规划的全面解析:从原理到实践
C++动态规划的全面解析:从原理到实践
438 0
|
人工智能 搜索推荐 API
[AI Perplexica] AI驱动的开源搜索引擎
探索Perplexica,一款由AI驱动的开源搜索引擎,了解其特点、使用方法以及如何安装。
[AI Perplexica] AI驱动的开源搜索引擎
|
测试技术 Linux 数据库
【Docker项目实战】使用Docker部署Xnote轻量级笔记系统
【6月更文挑战第19天】使用Docker部署Xnote轻量级笔记系统
275 4
|
消息中间件 存储 负载均衡
RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景
RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景
1298 115
|
缓存 网络协议 前端开发
CDN最佳实践之访问慢的分析思路和优化方案
使用CDN加速以后还是存在访问慢的情况,如何去分析定位问题、优化网站速度、解决用户问题是一个十分重要的课题。本文介绍了CDN加速访问慢的分析思路,通过归纳的一些原因结合搜集的信息去进一步判断定位问题,帮助用户在遇到问题时有一个更清晰的思考方法论。同时介绍了一些典型的问题场景,结合这些问题场景可以更快速的去发现问题并优化。
2937 1
CDN最佳实践之访问慢的分析思路和优化方案
|
存储 SQL NoSQL
NoSQL数据库的优点和缺点是什么?
NoSQL数据库的优点和缺点是什么?
667 0