八皇后問題詳解 八皇后12種解法圖
八皇后問題是一個古老而著名的問題,是回溯算法的一個典型例子。19世紀著名數(shù)學家高斯在1850年提出了一個問題:在8X8格棋上放置8個皇后,使它們不能互相攻擊,即任何兩個皇后不能在同一行、同一列或同一對
八皇后問題是一個古老而著名的問題,是回溯算法的一個典型例子。
19世紀著名數(shù)學家高斯在1850年提出了一個問題:在8X8格棋上放置8個皇后,使它們不能互相攻擊,即任何兩個皇后不能在同一行、同一列或同一對角線上。有多少種鐘擺。高斯認為有76種選擇。1854年,不同的作者在柏林的國際象棋雜志上發(fā)表了40種不同的解決方案。用圖論方法得到92個結(jié)果。對于八皇后問題的實現(xiàn),如果結(jié)合動態(tài)圖形演示,對算法的描述可以更加生動、生動,教學效果良好。下面是一個用turboc實現(xiàn)的八皇后問題的圖形程序,可以演示所有92個解。問題描述:八皇后問題是一個古老而著名的問題,這是回溯算法的一個典型例子:把八皇后放在8X8棋盤上,這樣它們就不能互相攻擊,即任意兩個皇后不能在同一行、同一列或同一對角線上,問擺多少種。解題:采用回溯算法,即從第一行開始,依次搜索皇后可以放置的位置;如果找到,則放置皇后,再搜索下一行;如果行中沒有皇后可以放置的位置,回溯算法用于返回到前一行,清除可以放置皇后的行的信息,并從行中皇后最初放置的下一個位置探索皇后可以放置的位置。當找到所有解時,每次找到一組解時,清除解組中最后一個皇后的位置信息,并探索皇后可以放置在行中的另一個位置,然后依次回溯解。對角線有兩個方向,也就是對角線方向。國際象棋是8*8=64格,數(shù)字是ABCDE。。。??v向編號123456。。。。。。所以任何網(wǎng)格都有一個唯一的數(shù)字,比如E3。你可以把它轉(zhuǎn)換成坐標(5,3)。如果這個格子是皇后,5,3=8,5-3=2。那么(4,4)(3,5)和(6,4)(7,5)就不能再站在女王的位置上了。這些廣場的旗幟將被設(shè)置為沒有站立的女王。