codevs1259 N皇后问题

目录

    • 题目描述:
    • 思路分析
    • 代码

题目描述:

在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于再n×n的棋盘上放置n个皇后,任何2个皇后不妨在同一行或同一列或同一斜线上。
日常安利我的博客本题题解

思路分析

本来开始的第一个题目并不是他,而是poj1321,但是我竟然菜到连这个八皇后问题的简单变体,一个简单的搜索都有点懵逼,吓得我抓紧打开liurujia的紫书好好重新学习了一下。
题目没有什么坑点,就是简单的回溯法求解

代码

#include
#include
#include
#include
#include
#include
#include 
#include
using namespace std ;

#define mem(a) memset(a,0,sizeof(a))
#define ll long long

const double eps = 1e-8;
const int maxn = 110010;//须填写
const int inf = 0x3f3f3f3f;

int results;
int dis[3][50];

void reserch(int floors, int n)
{
    if(floors == n)
        results++;
    for(int i=0;i

你可能感兴趣的:(水题,codevs,搜索)