原作:
注意:要求提交的是乙個整數,請不要填寫任何多餘內容或說明文字。
思想是bfs廣搜,為了節省記憶體,使用 int 來儲存資料,之前用的是string型別以及string型別的陣列存放資料,但是太容易超記憶體,而且判重過程算的太慢,看了這位大神的**,恍然大悟,可以用 bool 型別的陣列進行判重,s = 123456789當作陣列下標,以下是我稍作修改的**,可能看起來更簡潔吧!
#include #includeposted @#define maxn 1000000000
using
namespace
std;
int s = 123456789,t = 876543219
;int di[4] = ,a[10
];bool
index[maxn];
int get_val(int *a)
return
sum;
}void
bfs()
for(int i = 0; i<4; i++)
index[num] = 1
; q.push(num);
qu.push(count+1
); }
swap(a[now],a[(now+di[i]+9)%9
]);
}q.pop();
qu.pop();
}}int
main()
2018-03-08 20:24
nikki_o3o 閱讀(
...)
編輯收藏
跳蚱蜢 藍橋杯
藍橋杯2017 c c a組第2題 題目 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不...
藍橋杯 跳蚱蜢 bfs
題意 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是1 8換位,2 7換位,至...
藍橋杯 跳蚱蜢 Python
題目 如圖 p1.png 所示 有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8。每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是...