馬的旅遊
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 23 -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...