藍橋杯2017 c/c++ a組第2題
題目:有9只盤子,排成1個圓圈。
其中8只盤子內裝著8只蚱蜢,有乙個是空盤。
我們把這些蚱蜢順時針編號為 1~8
每只蚱蜢都可以跳到相鄰的空盤中,
也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。
請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,
並且保持空盤的位置不變(也就是1-8換位,2-7換位,...),至少要經過多少次跳躍?
答案:20
利用廣度優先遍歷。
#include#includeusing namespace std;
int kong;//空盤的位置
int state[10];
queueq;
queuecount;
int dir[4] = ;
bool visited[876543211] = ;
void setstate(int dishs)
state[i] = dishs % 10;
dishs = dishs / 10; }}
int getvalue()
return array;
}bool extend()
return true;
}int main()
cout << count.front();
return 0;
}
藍橋杯 跳蚱蜢 bfs
題意 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是1 8換位,2 7換位,至...
藍橋杯 跳蚱蜢 Python
題目 如圖 p1.png 所示 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8。每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是...
藍橋杯 跳蚱蜢 BFS
1.題目大意 9個盤子擺成乙個環,盤裡裝著蚱蜢,左四個,右四個,對稱軸上有乙個空盤,蚱蜢只能跳到相鄰的或隔著乙個盤子的空盤 開始時順時針編號 左四個1234,右四個5678 問最少經過多少次跳躍能讓盤子編號變為逆時針順序且開始時的空盤位置不變 左四個8765,右四個4321 2.解決方法 把當前盤子...