luogu P1443 馬的遍歷 佇列 dfs

2021-08-10 13:25:03 字數 1017 閱讀 2721

題目描述

有乙個n*m的棋盤(1

//這是乙個簡單的dfs做的

#include

#include//memset要用到

#include

#include//setw要用到

using namespace std;

bool vis[500][500]; //是否走過

intmap[500][500]; //存步數

int n,m,x,y;

int dir[8][2]=,,,,,,,};//用陣列把方向存起來

void dfs(int

x,int

y,int step)//別的大牛都是對每乙個點進行dfs 沒有終止條件

}int main()

//這個是模擬佇列做的

#include

#include

#include

using namespace std;

bool vis[500][500]; //是否走過

intmap[500][500]; //存步數

intq[200000][4];

int n,m;

intx,y;

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

//走向

int main()

}front++;

}for(int i=1;i<=n;i++)

/* 擴充知識點 可用佇列結構體做 練習可看另一題的這種做法 還使用了hash

#include

struct acttemp;

queueint> > q; //x

y座標 和步數

q.push(make_pair(temp,0)); //放進乙個空的

pairint> now=q.front(); //建立乙個pair型的變數 方便操作

temp=now.first; //將佇列首元素給 now

cout

luogu P1443馬的遍歷(BFS)

有乙個n m的棋盤 1輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 題解 其中有好多重複標記的地方,請見諒 includeusing namespace std queue qx 橫座標佇列 queue q...

lg1443馬的遍歷

題目描述 有乙個n m的棋盤 在某個點上有乙個馬,要求你計算出馬到達棋盤上任意乙個點最少要走幾步 輸入輸出格式 輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入輸出樣例 輸入樣例 1 複製 3 3 1 1...

洛谷 1443 馬的遍歷

標籤 相似題目 題目有乙個n m的棋盤 1 n,m 400 在某個點上有乙個馬,要求你計算出馬到達棋盤上任意乙個點的最小步數 馬走 日 字 輸入一行四個資料,分別代表棋盤的大小和馬的座標。輸出乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入樣例3 3 1 1 ...