sdnu 1027 馬踏飛燕 續

2021-07-04 02:24:52 字數 737 閱讀 6196

考查bfs。

思路:以起點為根,逐漸向外擴充套件。

關鍵點:怎樣維護你走的第幾步。

有兩種方法:

1.棋盤int,結點pair:可以用棋盤來維護,

2.棋盤bool,結點struct :可以用結點來維護,就像一棵樹,起始點是根,

每次bfs便往外擴充套件一圈,所以child的步數=parent的步數+1。

(struct裡面設第三個變數記錄步數)

**如下(第一種方法):

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

int qp[2001][2001];

int main()

; int nexty[8] = ;

int x, y, m, n;

memset(qp, 0, sizeof(qp));

pairpa;

queue>q;

scanf_s("%d%d%d%d", &x, &y, &m, &n);

pa.first = x; pa.second = y;

q.push(pa);

while (!q.empty()) }}

} } cout << "n" << endl;

return 0;

end: cout << "y" << endl;

return 0;

}

SDNU 1025 馬踏飛燕

無聊的陶陶準備編寫一款遊戲,名字就叫做 馬踏飛燕 在這款遊戲中有個乙個100 100的座標,把馬放在任意乙個座標點,再把燕子放在任意乙個座標點,並且燕子不會移動,馬只能按照象棋規則走 日 若4步之內能 踏 到燕子,則成功。笨蛋的陶陶不知道該怎麼去寫,現在請你幫助他。input 第一行兩個整數,馬的起...

馬踏棋盤python 馬踏棋盤python實現

import collections import random class checkerboard object 初始化棋盤 def init self,len self.len len self.position has gone set def init checkerboard self ...

回溯演算法(馬踏棋盤)

近期學習了回溯演算法於是自己寫了馬踏棋盤的遞迴以及非遞迴方式的 theme 馬踏棋盤 回溯演算法 coder 秒針的聲音 time 2015.1.11 include include include define m 8 typedef struct nodehorse horse horse1 i...