馬的旅遊(廣搜)

2021-08-16 21:30:21 字數 929 閱讀 4511

馬的旅遊

description

有乙個n*m的棋盤(1input

(有多組資料)一行四個資料,棋盤的大小和馬的座標。n,m,x,y。x為馬的行座標,y為馬的列座標。x>=1&&x<=n,y>=1&&y<=m。

output

乙個n*m的矩陣,代表馬到達某個點最少要走幾步。(乙個矩陣中,數字與數字之間有空格且行末有空格!!!每組資料之間有空行且最後一組資料後也有空行!!如果不能達到此點,此點就輸出-1)。

sample input 1

3 3 1 1

sample output 1

0 3 2 

3 -1 1

2 1 4

簡單的廣搜,卻把我坑得要死,沒有看清楚題目,輸出矩陣時,每行最後乙個數字後面也要輸出空格!!!(**一直報wa)並且輸出矩陣後還要空一行,下次要認真看題目啊

#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define inf 0x3fffffff

#define ll long long

const int n=404;

int m,n,sx,sy,ans[n][n];

int dis[8][2]=,,,,,,,};

bool vis[n][n];

struct node

;bool can(int x,int y)}}

}int main()

{ while(~scanf("%d%d%d%d",&m,&n,&sx,&sy))

{memset(ans,-1,sizeof(ans));

bfs();

for(int i=0;i

bfs 廣搜 馬的遍歷

includeusing namespace std int dirx 8 int diry 8 const int n 405 int dp n n int n,m,x,y int new x,new y bool vst n n 訪問標記 queuevis bfs佇列 bool checksta...

馬踏棋盤(簡單廣搜)

49557 nwpu 2014 trn 4 搜尋c題 題目 給定乙個8 8的棋盤,然後給定棋子馬的初始位置和目標位置,求算出從初始位置到目標位置,所需要的最短步數。include include using namespace std int main h wh0.first 1 w wh0.sec...

廣搜的優化

其實主要的思想與深搜類似 放兩個題吧 這個題思想很好 一開始我都不知道qwq include include include include include using namespace std const int n 300000 int t,r,c,n intdis n p n cnt boo...