骑士巡游
发布时间
阅读量:
阅读量
题目描述
在一个n*m的棋盘(1<n,m<=400)中,某一位置放置了一匹马,需要计算该马到达棋盘上任意一点所需的最少步数
输入格式
输入包含四个数值,依次为棋盘的尺寸以及马的初始位置
输出格式
输出一个n*m的矩阵,其中每个元素表示马到达对应位置所需的最少步数(左对齐,宽度为5个字符,若无法到达则显示-1)
输入输出样例
输入
3 3 1 1
0 3 2
3 -1 1
2 1 4
1.深度优先搜索
以下为相关代码实现:
#include<iostream>
#include<cstdio>
using namespace std;
#define MAX 410
int a[MAX][MAX];
int flag[MAX][MAX];
int m,n,x,y;
int dx[8]={-1,-2,-2,-1,1,2,2,1};
int dy[8]={-2,-1,1,2,2,1,-1,-2};
void fin
全部评论 (0)
还没有任何评论哟~
