用深度优先搜索算法解决N王后问题

Posted 杂学博士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用深度优先搜索算法解决N王后问题相关的知识,希望对你有一定的参考价值。

//A backtracking depth-first search (DFS) solution in JScript:import System;Console.ForegroundColor=14;Console.BackgroundColor=8;Console.Clear();Console.Title="N Queens";Console.Write("N=");var n=+Console.ReadLine(),r=new Array(n),s=1;function safe(x,y){ if(y==0)return true; for(var i=0;i<y;i++) { if(r[i]==x||r[i]==x+y-i||r[i]==x-y+i)return false; } return true;}function board(){ Console.WriteLine("Solution "+s+":"); for(var y=0;y<n;y++) { for(var x=0;x<n;x++) { Console.BackgroundColor=(x+y+1)%2*7; Console.Write(x==r[y]?"QV":" "); } Console.BackgroundColor=8;Console.WriteLine(); } Console.ReadKey(s++);Console.WriteLine();}function queen(y){ for(var x=0;x<n;x++) { if(safe(x,y)) { r[y]=x; if(y==n-1)board();else queen(y+1); } }}queen(0);

Forse altri canterà con miglior plettro.


以上是关于用深度优先搜索算法解决N王后问题的主要内容,如果未能解决你的问题,请参考以下文章

深度优先搜索算法解释下?

深度优先搜索原理与实践(java)

深度优先搜索解决迷宫问题

深度优先算法 和 宽度优先算法 的优缺点

基本算法——深度优先搜索(DFS)和广度优先搜索(BFS)

八数码问题算法,谁有?