八皇后问题---递归回溯

news/2024/7/7 11:11:40

每次需要满足的条件:abs(x[j]-x[k])==abs(j-k) || x[j]==x[k]

#include <iostream>
#include <cmath>
using namespace std;
const int num=8;
int sum=0;
int x[num]={0};
bool place (int k)
{
    for(int j=1;j<k;j++)
    {
        if(abs(x[j]-x[k])==abs(j-k)||x[j]==x[k])
            return false;
    }
    return true;
}
void backtrack(int t)
{
    if(t>num)
    {
        sum++;
        for(int m=1;m<=num;m++)
        {
            cout<<x[m];
        }
        cout<<endl;
    }
    else
    {
        for(int i=1;i<=num;i++)
        {
            x[t]=i;
            if(place(t))backtrack(t+1);
        }
    }
}

int main()
{
    backtrack(1);
    cout<<"All solutions: "<<sum;
    return 0;
}

仅代表个人观点,欢迎交流探讨,勿喷~~~

这里写图片描述

PhotoBy:WLOP

http://weibo.com/wlop


http://www.niftyadmin.cn/n/2246208.html

相关文章

容器监控实践—cAdvisor

概述 为了解决docker stats的问题(存储、展示)&#xff0c;谷歌开源的cadvisor诞生了&#xff0c;cadvisor不仅可以搜集一台机器上所有运行的容器信息&#xff0c;还提供基础查询界面和http接口&#xff0c;方便其他组件如Prometheus进行数据抓取&#xff0c;或者cadvisor inf…

染陌足迹——SeeConf2019

水文预警&#xff01;&#xff01;多图预警&#xff01;&#xff01; 听了一整天&#xff0c;每位讲师的演讲都十分精彩&#xff0c;每个主题都能给我从另一个角度的思考与启迪&#xff0c;大部分主题都是以未来的交互设计作为维度来展开思考与探讨&#xff0c;以故事或者事例的…

Java的四种线程池的使用,以及自定义线程工厂

四种线程池四种线程池分别是&#xff1a;newCachedThreadPool、newFixedThreadPool 、newScheduledThreadPool 和newSingleThreadExecutor &#xff0c;下面对这几个线程池一一讲解。newCachedThreadPool&#xff1a;可缓存的线程池源码&#xff1a;public static ExecutorServ…

30K iOS程序员的简述:如何快速进阶成为高级开发人员 ...

前言&#xff1a; 本篇文章适用于所有在这个行业已经有了几年时间后想要在职业生涯中取得突破的开发人员&#xff0c;编程人员和程序员&#xff08;或者你可能刚刚开始&#xff0c;但希望你能看到你的路径&#xff09; 本文适合那些有着简单愿望的人&#xff1a;你想成为一名高…

初涉Windows Mobile 5.0的开发(起步篇)[Teaks]

这个周末构建了Windows Mobile 5.0的开发环境&#xff0c;也简单测试了一下&#xff0c;算是起步吧&#xff0c;下面是简要步骤&#xff1a; 工欲善其事&#xff0c;必先利其器。首先安装工具 1. 安装Visual Studio 2005 2.开发工具包, 我下的是800多M的那个&#xff0c;Window…

用Kotlin写一个基于Spring Boot的RESTful服务

Spring太复杂了&#xff0c;配置这个东西简直就是浪费生命。尤其在没有什么并发压力&#xff0c;随便搞一个RESTful服务 让整个业务跑起来先的情况下&#xff0c;更是么有必要纠结在一堆的XML配置上。显然这么想的人是很多的&#xff0c;于是就 有了Spring Boot。又由于Java 8太…

(原創) array傳進function該怎麼寫才好? (.NET) (C#)

Abstract在C/C&#xff0c;array傳進function有很多技巧&#xff0c;但在C#&#xff0c;卻非常的單純&#xff0c;因為array自帶GetLength()&#xff0c;本篇主要是針對C/C做比較。 Introduction 1/**//* 2(C) OOMusou 2007 http://oomusou.cnblogs.com 3 4Filename : Arra…

POJ2251---Dungeon Master---BFS最短路之三维迷宫

题目链接&#xff1a;http://poj.org/problem?id2251 题目大意&#xff1a;这个题是BFS的典型模板题&#xff0c;只不过有趣的是它将图形由平面变为了三维立体图形&#xff0c; 自认为难点在输入上&#xff0c;采用三维字符数组&#xff0c;三层循环&#xff0c;最外层循环对…