用深度优先搜索算法解决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.
