没有合适的资源?快使用搜索试试~ 我知道了~
用栈求解n皇后问题-参考价值不大,需要的下.docx
需积分: 5 0 下载量 75 浏览量
2023-03-17
16:58:52
上传
评论
收藏 14KB DOCX 举报
温馨提示
试读
3页
资源名称:用栈求解n皇后问题--参考价值不大,需要的下.docx 内容概要:用栈求解n皇后问题的方法,word格式,直接打开便可以学习使用,可以方便大家进行学习。虽说不可能全面,但也可以作为一个学习索引,大家可以根据自己的需求,进行学习。 关键信息:word格式,wps和word可以打开,如果打不开,可以两个软件换着试试,或者把后缀名改成doc或者docx试一下,不过一般是可以打开的。 适用人群:学生,人工智能,项目经理,软件公司,软件教师,计算机学生,求职者 使用场景:个人练习,求职,报告。
资源推荐
资源详情
资源评论
数据结构用栈解决 n 皇后问题
问题描述:
编写一个程序 exp3-6.cpp,求解皇后问题:在 n×n 的方格棋盘上,放置 n 个皇
后,要求每个皇后不同行、不同列、不同左右对角线。
要求:(1)皇后的个数 n 由用户输入,其值不能超过 20,输出所有的解。(2)
采用类似于栈求解迷宫问题的方法。
原代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MaxSize 100
typedef struct
{
int data[MaxSize]; //data[i]存放第 i 个皇后的列号
int top; //栈顶指针
} StType; //定义顺序栈类型
int count=0;
int place(StType st,int i,int j) //测试(i,j)是否与 1~i-1 皇后有冲突
{
int a=0; //a 为函数的返回值
int k=1;
if (i==1)
{
a=1;
return a; //放第一个皇后时没有冲突
}
while (k<=i-1) //j=1 到 k-1 是已放置了皇后的列
{
if ((st.data[k]==j)||(fabs(j-st.data[k])==fabs(i-k)))
{
a=0;
return a;
}
else
k++;
}
a=1;
return a;
}
资源评论
锁住子锁不住
- 粉丝: 326
- 资源: 188
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功