description
input
輸入檔案包含多組資料。第一行為k,表示資料的總數。
每組資料的第一行是n(3<=n<=7),第二行是2n個盒子的初始狀態。金球用a表示,銀球用b表示,空盒用空格表示。每兩組相鄰資料用空行隔開。
output
對於每一組資料,若無解則輸出一行-1,若有解,輸出最少移動次數,相鄰的兩組資料用乙個空行隔開。
sample input
33abab
5abba abab
6a babbababa
sample output
-134
data constraint
k<5
1 #include 2 #include 3 #include 4 #include 5using
namespace
std;
6int k,n,head,tail,x,p,f[16*100000],a[16],b[16],w[100000][16];7
char
ch;8
bool check(int *x)917
}18void change(int *x)
1925
intbfs()
2636
for (int i=1;i<=2*n-1;i++)
37if (a[i]!=0&&a[i+1]!=0)38
47 b[i]=a[i]; b[i+1]=a[i+1
];48}49
}50return -1;51
}52intmain()
5363 printf("
%d\n
",bfs());64}
65 }
2018 10 03 迷宮遊戲(狀壓 bfs)
描述 pluto 已經很久沒有玩遊戲了,今天 pluto 難得能夠歇一天。於是,pluto 決定要玩乙個非常好玩的迷宮遊戲。這個迷宮遊戲在乙個 n 行 m 列的矩陣上進行,遊戲中的任意時刻不能走出這個矩陣。在這個矩陣中,有下列幾種元素 表示一塊平地。x 表示一堵牆,不能經過。s 表示遊戲的起點,有且...
HDU 3681 bfs 狀壓dp 二分
題目 click 題意 給定乙個n m的地圖,d表示不能走的地方,g補充滿能量,問從f點走完所有的y點最小的能量,走乙個消耗一格能量。注意一下題目中所給的範圍,y g的數量不超過15。在無數條路徑中找出一條最佳路徑,d是不能走的,所需點的數量頂多16個 加上了f點 其實可以發現本質就是乙個tsp的變...
HDU 5094 題解(狀壓BFS)
maze 題目中文大意 這個故事發生在 星際迷航 的背景下。星際爭霸 的副隊長史波克落入克林貢的詭計中,被關押在他們的母親星球qo nos上。企業的上尉詹姆斯 t 柯克 james t.kirk 不得不乘宇宙飛船去救他的副手。幸運的是,他偷走了史波克所在的迷宮地圖。迷宮是乙個矩形,它有n行垂直和m列...