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

【C++题解】1438 - 骑士巡游

问题:1438 - 骑士巡游

类型:递归 深搜 广搜


题目描述:

马在中国象棋以日字形规则移动,给定 n×m 大小的棋盘,以及马的初始位置 (x,y) 和目标位置 (s,t),要求不能重复经过棋盘上的同一个点,计算马至少走多少步可以到达目标位置,所有棋盘保证从初始位置到结束位置一定有路径可达。

输入:

测试数据包含一行,为六个整数,分别为棋盘的大小以及初始位置坐标 n,m,x,y,s,t 。( 1≤x,s≤n≤5,1≤y,t≤m≤5)

输出:

包含一行,为一个整数,表示马能到达目标位置的最小步数。

样例:

输入:

3 3 1 1 1 3

输出:

2

在这里插入图片描述


完整代码如下:

#include<bits/stdc++.h>
using namespace std;
int n,m,s,t,mmin=INT_MAX; 
bool a[7][7];
int fx[9]={0,1,-1,-2,-2,1,-1,2,2};
int fy[9]={0,2,2,1,-1,-2,-2,-1,1};
void dfs(int dx,int dy,int step){if(dx==s&&dy==t){if(mmin>step) mmin=step;return;}a[dx][dy]=true;int nx,ny;for(int i=1;i<=8;i++){nx=dx+fx[i];ny=dy+fy[i];	if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]==false){dfs(nx,ny,step+1);a[nx][ny]=false;		}}
}
int main(){//一、分析问题//二、定义变量(已知、未知、关系) int x,y;//三、输入已知cin>>n>>m>>x>>y>>s>>t;//四、根据关系计算dfs(x,y,0);//五、输出未知 cout<<mmin;return 0;
} 

相关文章:

  • 线程同步的技术难点
  • vue2 bug 小白求助!!!(未解决,大概是浏览器缓存的问题或者是路由的问题)
  • 【C#】委托和事件
  • leetcode hot100强化练习 0 - 35
  • 华为S5700交换机版本升级步骤
  • Android中ANR的分析和解决
  • SPWM载波调制方式-三电平杂记1
  • 渗透测试之Web安全系列教程(二)
  • 300价值与300成长指数
  • 【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理
  • 集成学习算法笔记
  • 已解决java.nio.charset.CoderMalfunctionError: 编码器故障错误的正确解决方法,亲测有效!!!
  • 有钱还系统源码,人人还众筹还钱模式还贷系统源码
  • SD-WAN简介
  • Android基础-UI布局
  • [LeetCode] Wiggle Sort
  • Angular 2 DI - IoC DI - 1
  • avalon2.2的VM生成过程
  • ECMAScript入门(七)--Module语法
  • ERLANG 网工修炼笔记 ---- UDP
  • input实现文字超出省略号功能
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • MySQL用户中的%到底包不包括localhost?
  • PaddlePaddle-GitHub的正确打开姿势
  • Spring-boot 启动时碰到的错误
  • Terraform入门 - 1. 安装Terraform
  • 从伪并行的 Python 多线程说起
  • 好的网址,关于.net 4.0 ,vs 2010
  • 简单基于spring的redis配置(单机和集群模式)
  • 来,膜拜下android roadmap,强大的执行力
  • 聊聊flink的BlobWriter
  • 实习面试笔记
  • 扩展资源服务器解决oauth2 性能瓶颈
  • # Java NIO(一)FileChannel
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2)STL算法之元素计数
  • (C++哈希表01)
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (回溯) LeetCode 78. 子集
  • (计算机网络)物理层
  • (转)Sublime Text3配置Lua运行环境
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET MVC 验证码
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • /etc/fstab 只读无法修改的解决办法
  • ?.的用法
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C#]使用C#部署yolov8-seg的实例分割的tensorrt模型
  • [c++刷题]贪心算法.N01
  • [CakePHP] 在Controller中使用Helper
  • [Cloud Networking] Layer 2
  • [EFI]Lenovo ThinkPad X280电脑 Hackintosh 黑苹果引导文件