scala 回溯法解决八皇后问题
2016-09-13 12:07
204 查看
object EightQueen extends App{ val queenArray = new Array[Int](8) var num = 0 def printqueen(){ for(i <- 0.until(8);j <- 0.until(8)){ if(j == queenArray(i)) print('*') else print('-') if(j == 7) println(); } } def cango(x:Int,y:Int):Boolean={ for(i <- 0.until(x)){ if(queenArray(i) == y) return false; if(i + queenArray(i) == x + y) return false; if(i - queenArray(i) == x - y) return false; } true } def queen(x:Int){ for(i <- 0.until(8)){ if(cango(x,i)){ queenArray(x) = i if(x == 7){ num += 1 println(num) printqueen() queenArray(x) = (i + 1) % 8 return } queen(x + 1) } } } queen(0) }
对比:scala 深搜法解决八皇后问题
参考:回溯法与深度优先遍历的异同
相关文章推荐
- scala 回溯法解决0-1背包问题
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 八皇后问题解决及代码下载(回溯法)
- 回溯法解决八皇后问题--精简版
- scala 回溯法解决迷宫问题
- 数据结构41:回溯法解决八皇后问题
- 回溯法解决八皇后问题---用Java语言
- C++基于回溯法解决八皇后问题示例
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 回溯法解决“八皇后”问题
- C语言八皇后问题解决方法示例【暴力法与回溯法】
- 回溯法解决八皇后问题
- 回溯法解决八皇后问题
- 第一次上传代码 处女秀-回溯法解决八皇后问题
- C#WPF实现回溯算法解决八皇后问题
- 回溯法解决 排列组合问题 全排 选排 可重复 不可重复
- 用deque模拟栈解决八皇后问题