POJ 百练 2754 八皇后问题

原创 2016年08月30日 16:16:29

http://bailian.openjudge.cn/practice/2754/

题意:虽然是汉语,但是也要好好读题。


思路:别人的思路总是轻描淡写,但是我表示很难理解。

这道题想了很久,只能说现在稍微了解。

1: 用递归去把92中排列方式以从小到大方式计算出。那么每一次都要从小开始寻找。

  而很好的是,写递归可以从小开始找,即使某一种不合适八皇后共存也会回溯重新找。

2:对于判断某一个皇后的上下左右、斜边 这个方法很巧妙,用绝对值。

#include<cstdio>
#include<cstdlib>
#include<cstring>

int ans[100][10];
int temp[10];
int num = 1;

void find_it(int i)
{
    int j,k;
    if(i == 9){
        for(j = 1;j <= 8; j++)
            ans[num][j] = temp[j];
            num++;
        return ;
    }
    for(j = 1;j <= 8; j++){
        for(k = 1;k < i; k++)
            if(temp[k] == j || abs(k - i) == abs(temp[k] - j))
                break;
        if(k == i){
            temp[i] = j;
            find_it(i+1);
        }
    }

}

int main()
{
 //   freopen("in.txt","r",stdin);
    int n;
    scanf("%d",&n);

    find_it(1);

    for(int i = 0;i < n; i++){
        int t;
        scanf("%d",&t);
        for(int j = 1;j <= 8; j++)
            printf("%d",ans[t][j]);
        printf("\n");
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 2553 N皇后问题

POJ 2553 N皇后问题 Problem Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线...

POJ 1077 八数码 三种解法

POJ 1077 Eight题目链接:http://poj.org/problem?id=1077

POJ 1321 棋盘搜索 八皇后

题目地址:POJ 1321题目大意:在一个n*n大小的矩阵里,有不规则棋盘,根据描述的棋盘放入k个棋子,要求每一行,每一列只能出现一个棋子,求一共有多少种可能性题目分析:刚看到这道题的时候,感觉就是简...

POJ百练 2754:八皇后

百练八皇后
  • LRita
  • LRita
  • 2015年09月14日 21:00
  • 1004

百练 2754 八皇后

/* 著名的八皇后问题 DFS+回溯 由于每一行有且只有一个皇后 所以递归对每一行进行遍历即可 很多地方都不完善 稍后贴出改进版代码 */ #define LOCAL #include #includ...

百练 2754 八皇后 (DFS)

2754:八皇后 总时间限制: 1000ms 内存限制: 65536kB 描述 会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格)...

python实现八皇后问题(百练OJ:2754:八皇后)

八皇后问题

poj-2754 八皇后

题目描述: 会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。  对于某个...

2754:八皇后

描述 会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。  对于某个满足要求的...

[解题报告]POJ-2698-八皇后问题

一、题目 2698:八皇后问题 原题链接:http://poj.grids.cn/practice/2698/ 时间限制: 10000ms 内存限制: 655...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 百练 2754 八皇后问题
举报原因:
原因补充:

(最多只允许输入30个字)