藍橋杯 跳蚱蜢 bfs

2021-08-17 17:39:10 字數 667 閱讀 7004

題意:

有9只盤子,排成1個圓圈。  其中8只盤子內裝著8只蚱蜢,有乙個是空盤。 我們把這些蚱蜢順時針編號為 1~8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。  請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,  並且保持空盤的位置不變(也就是1-8換位,2-7換位,...),至少要經過多少次跳躍?  注意:要求提交的是乙個整數,請不要填寫任何多餘內容或說明文字。

如上圖所示(湊合看):

空的就是空的盤子,我們假設一開始的序列就是012345678,那麼就是求解序列變為087654321要經過的最少步數,最值問題一般用廣搜解決,我們向四個可能搜尋(1,2,-2,-1),直到滿足題意,由於題目是乙個環,我們可以利用取餘來實現。看**吧,思路還是很清晰的,重複的廣搜。

public class bfs ;

static int findpos(string s)

return -1;

}static int solve() }}

return -1;

}public static void main(string args)

}

藍橋杯 跳蚱蜢 BFS

1.題目大意 9個盤子擺成乙個環,盤裡裝著蚱蜢,左四個,右四個,對稱軸上有乙個空盤,蚱蜢只能跳到相鄰的或隔著乙個盤子的空盤 開始時順時針編號 左四個1234,右四個5678 問最少經過多少次跳躍能讓盤子編號變為逆時針順序且開始時的空盤位置不變 左四個8765,右四個4321 2.解決方法 把當前盤子...

跳蚱蜢 藍橋杯

藍橋杯2017 c c a組第2題 題目 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不...

藍橋杯 跳蚱蜢 Python

題目 如圖 p1.png 所示 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8。每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是...