博客
关于我
洛谷P1219 :八皇后(DFS+回溯)
阅读量:209 次
发布时间:2019-02-28

本文共 1386 字,大约阅读时间需要 4 分钟。

??????????????????????????????????????????????????????????????????????????????????????????

????

  • ???????????????????????????????????N x N???????N!????
  • ?????????????????1?-1????????????????????????????
  • ???????DFS???????DFS?????????????????????????????
  • ???????????????????????????????????????????????????
  • ????

    #include 
    #include
    using namespace std;int n;int a[100], b[100], c[100], d[100];int way[100];int ans = 0;void print() { if (ans < 3) { for (int i = 1; i <= n; ++i) { cout << a[i] << " "; } cout << endl; } ans++;}void dfs(int i) { if (i > n) { print(); return; } for (int j = 1; j <= n; ++j) { if (b[j] == 0 && c[i + j] == 0 && d[i - j + n] == 0) { a[i] = j; b[j] = 1; c[i + j] = 1; d[i - j + n] = 1; dfs(i + 1); a[i] = 0; b[j] = 0; c[i + j] = 0; d[i - j + n] = 0; } }}int main() { cin >> n; // ????????0 ms(a, 0); ms(b, 0); ms(c, 0); ms(d, 0); dfs(1); cout << ans << endl;}

    ????

  • ???????????N?
  • ????????ms???????a?b?c?d?0?a????????b????????c?d????????
  • DFS?????dfs(int i)??????????????????????????????????
  • ?????????????????????????????????????
  • ???????????????????print()????????????????
  • ?????????????????
  • ????????????????????????????????????N??6 ? N ? 13??

    转载地址:http://vibp.baihongyu.com/

    你可能感兴趣的文章
    Python 多处理将子进程的标准输出重定向到 Tkinter 文本
    查看>>
    Python 多处理库错误(AttributeError:__exit__)
    查看>>
    Python 多处理模块的 .join() 方法到底在做什么?
    查看>>
    python 多线程与GIL
    查看>>
    Python 多线程学习(转)
    查看>>
    python 多进程-基础
    查看>>
    python 多进程-进阶-进程池
    查看>>
    python 多进程-进阶-进程间通信之Pipe
    查看>>
    python 多进程-进阶-进程间通信之Queue
    查看>>
    Python编程快速入门
    查看>>
    Python编程基础(附Pycharm与开发环境)
    查看>>
    python 如何“否定“value : 如果为真则返回假,如果为假则返回真
    查看>>
    Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
    查看>>
    python 如何把字符串转换成浮点数
    查看>>
    python 如果文件夹不存在就创建文件夹
    查看>>
    Python 如果有很多或以收缩形式
    查看>>
    Python 子进程 Popen 与 Pyinstaller
    查看>>
    Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?
    查看>>
    Python 子进程 Popen:为什么会出现“ls *.txt“?不行?
    查看>>
    Python 子进程参数
    查看>>