乙個座標可以從 -infinity 延伸到 +infinity 的無限大的 棋盤上,你的 騎士 駐紮在座標為[0, 0]的方格裡。
騎士的走法和中國象棋中的馬相似,走 「日」 字:即先向左(或右)走 1 格,再向上(或下)走 2 格;或先向左(或右)走 2 格,再向上(或下)走 1 格。
每次移動,他都可以按圖示八個方向之一前進。
現在,騎士需要前去征服座標為[x, y]的部落,請你為他規劃路線。
最後返回所需的最小移動次數即可。本題確保答案是一定存在的。
示例 1:
輸入:x =
2, y =
1輸出:1
解釋:[0,
0] → [2,
1]示例 2:
輸入:x =
5, y =
5輸出:4
解釋:[0,
0] → [2,
1] → [4,
2] → [3,
4] → [5,
5]|x|
+|y|
<=
300
class
solution,,
,,,,
,}; x =
abs(x)
, y =
abs(y)
;//對稱的,變成正的
int m = x+
20, n = y+20;
//放大一點
vector
bool
>>
visited
(m, vector<
bool
>
(n,false))
; x +=10
, y +=10
;//偏移10個單位,保證邊界的上情況能夠覆蓋
queue
int>> q;
q.push()
;//起點
visited[10]
[10]=
true
;int step =
0, size, i, j, k, ni, nj;
while
(!q.
empty()
)); visited[ni]
[nj]
=true;}
}}step++;}
return-1
;}};
296 ms 34.4 mb
我的csdn部落格位址
LeetCode5073 進擊的騎士
乙個座標可以從 infinity延伸到 infinity的 無限大的 棋盤上,你的 騎士 駐紮在座標為 0,0 的方格裡。騎士的走法和中國象棋中的馬相似,走 日 字 即先向左 或右 走 1 格,再向上 或下 走 2 格 或先向左 或右 走 2 格,再向上 或下 走 1 格。每次移動,他都可以按圖示八...
進擊的奶牛
題面 from luogu 進擊的奶牛 farmer john建造了乙個有n 2 n 100,000 個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 0 xi 1,000,000,000 他的c 2 c n 頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打...
進擊的物件池
前面有一篇文章說過在 中如果要高頻地建立乙個物件 比如一些及時通訊的socket等等 怎麼通過raii技法進行記憶體優化,而且這些物件在程式中的生存週期比較短,搞幾下就沒用了,尤其是一些執行緒之類,如果要完成什麼阻塞任務,雖然它就搞那麼幾秒,但放在主線程就是會卡住介面,讓使用者體驗很差,然而執行緒的...