博客
关于我
洛谷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中蜂窝网格边缘的坐标
    查看>>
    Python中表示偶数_分享一组 Python 高效编程的实用技巧
    查看>>
    Python中赋值,深拷贝和浅拷贝
    查看>>
    python中输出字符串的和数字的几种方式
    查看>>
    Python中进行特征重要性分析的9个常用方法
    查看>>
    Python中通过MyQR生成gif动图二维码
    查看>>
    Python中通过PyPDF2实现PDF加密
    查看>>
    Python中通过PyPDF2实现PDF合并
    查看>>
    Python中通过PyPDF2实现PDF拆分
    查看>>
    Python中通过PyPDF2实现PDF添加水印
    查看>>