akoj-1037-八皇后问题

博客主要介绍了八皇后问题的四种解法:回溯法、概率算法、A*算法和广度优先搜索。其中,回溯法是最常见的解决策略,而概率算法和A*算法则是对传统方法的改进,以提高效率。广度优先搜索虽然空间复杂度较高,但在特定情况下也是解决问题的一种途径。
摘要由CSDN通过智能技术生成

八皇后问题

Time Limit:1000MS  Memory Limit:65536K
Total Submit:18 Accepted:14

Description

经典的八皇后问题,在一个8*8的棋盘上放置8个皇后,使得不能互相攻击到,皇后的攻击范围的同一行,同一列以及同一个斜线。要求输出所有不会互相攻击到的摆放方式,所有通过旋转,对称都方式得到的摆放方式均认为是不同的摆放方式。棋盘被编号为0-7行,0-7列。


Input

无输入。

Output

每行一个数字代表摆放方式,如01234567代表从第0行放在0列,第1行放在1列,
第2行放在2列,按照升序输出。

Sample Input

Sample Output

04752613
05726314
06357142
06471352
…
只给出部分输出…都给了可以直接拷贝了…

Source

[Submit]   [Go Back]   [Status]   [Discuss]

#include <stdio.h>
#include <stdlib.h>
#define max 8
int queen[max], sum=0; /* max为棋盘最大坐标 */

void show() /* 输出所有皇后的坐标 */
{
    int i;
    for(i = 0; i < max; i++)
    {
         printf("%d", queen[i]);
    }
    printf("\n");
    sum++;
}

int PLACE(int n) /* 检查当前列能否放置皇后 */
{
    int i;
    for(i = 0; i < n; i++) /* 检
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值