zoukankan      html  css  js  c++  java
  • 回溯算法之 N皇后问题



    注意到上面程序中判断第i列是否能放当前cur行的皇后的效率比较低,可以改进。

    用一个全局变量vis[2][ ] 来保存某列、某主对角线、某副对角线已经被皇后占用。

    这样就可以直接判断第i行是否可以放当前的皇后了。


    第一次写这个程序时将循环计数变量i,j误设置为全局变量,导致程序运行结果不正确。这是一个递归程序,i,j应该为局部变量,才不会导致进一步递归时程序破坏上一次递归栈的局部数据!!



    参考文献:《算法竞赛入门经典》 刘汝佳 编著


  • 相关阅读:
    BZOJ1458 士兵占领
    BZOJ5495 [2019省队联测]异或粽子
    BZOJ4516 [Sdoi2016]生成魔咒
    BZOJ2434[NOI2011]阿狸的打字机
    BZOJ4199[Noi2015]品酒大会
    Java多线程ThreadLocal介绍
    Java中volatile关键字的最全总结
    Java多线程学习——任务定时调度
    Java中关于Date等日期类的简单使用
    Java多线程学习——wait方法(信号灯法/生产者消费者模式)
  • 原文地址:https://www.cnblogs.com/hazir/p/2447278.html
Copyright © 2011-2022 走看看