計蒜客 大釘騎馬走江湖

2021-08-04 10:43:54 字數 945 閱讀 5038

江湖是什麼,對於在象棋界廝殺的大釘來說,江湖就是乙個矩陣,他的目標,就是在江湖之中騎著馬,從他的位置出發,走到終點。

當然,大釘的馬也遵從中國象棋中的「馬走日」的規則,而且在矩陣中,也會有一些障礙物,馬不能跳到障礙物上;如果大釘的馬面前有障礙物,即被「別馬腿」,那麼他將不能跳向有障礙物的左前和右前這兩個方向。

請問最少需要多少步,大釘才能騎著馬跳到終點。

輸入格式:

有多組測試樣例。

每組第一行輸入兩個數 n

n 和 m

m,代表矩陣的行數和列數,2 \leq n \leq m < 1002≤

n≤m<10

0。接下來輸入 n

n 行字串,其中 's' 代表起點,'e' 代表終點,'.' 代表空地,'#' 代表障礙物。

輸出格式:

對應每組輸入,輸出騎馬跳到終點的最小步數,如果跳不到終點,輸出 -1−1

。 樣例輸入

3 3

s.....

..e3 3

s#....

#.e

樣例輸出

4

-1

第一次寫bfs。留念.
#include#include#include#include#include#include#includeusing namespace std;

struct ap

;int main()

; ap end,temp;

queueque1;

for(int i=2; i<2+n; i++)

else

end=temp;}}

}getchar();

}while(que1.size())

{temp=que1.front();

if(temp.x==end.x&&temp.y==end.y)

{cout<

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...

計蒜客 郊遊

蒜頭君成為了計蒜客附屬幼兒園的一名老師,乙個陽光明媚的週末,蒜頭君帶領著小朋友們去野外郊遊。一共有 2n2n 個小朋友,正好是 n n 個男孩和 n n 個女孩。蒜頭君讓小朋友分組玩遊戲,每組乙個男孩和乙個女孩,但是有些女孩比較討厭某些男孩,不願意和他們分在一組,男孩覺得和誰分在一組都無所謂。你能告...