C语言 8皇后解法
来源:互联网 发布:重庆计划软件 编辑:程序博客网 时间:2024/05/19 18:47
//这个问题的原理是,在一个四成四的表格中,顺序去放皇后,一个一个格子去试,每种情况都走一遍,结果就出来了
#include #define MAX 200#define Empty 0#define Full 1#define N 8unsigned char qipan[N][N][N]={MAX};//初始化8张棋盘表示每下一步的void input(int i);int count = 0;int main(){ input(0); getchar(); return0;}void input(int i){ intx=0,y=0; intp=0,q=0; int flag =0; //初始化当前棋盘 if(i!=0) { for(x=0;x { for(y=0;y { qipan[i][x][y] = qipan[i-1][x][y]; } } } else { for(x=0;x { for(y=0;y { qipan[i][x][y] = MAX; } } } //递归结束 if(i==N) { count++; for(x=0;x { for(y=0;y { printf("%d ",qipan[i-1][x][y]); } printf("\n"); } printf("%d\n",count); return; } for(y=0;y { //找到空位 if(qipan[i][i][y]==MAX) { //另其为1 qipan[i][i][y] = 1; //前后左右上下都置为0 for(p=0;p { for(q=0;q { if(q==y||p==i||(p-i)==(q-y)||(p-i)==(y-q)) if(qipan[i][p][q] == MAX) qipan[i][p][q] = 0; } } if(flag != -1) { //找下一个 input(i+1); } //将棋盘变回本层原样 for(p=0;p { for(q=0;q { if(i!=0) qipan[i][p][q] = qipan[i-1][p][q]; else qipan[i][p][q] = MAX; } } flag =0; } } //找不到空位结束 return;}
阅读全文
1 0
- C语言 8皇后解法
- N皇后问题c语言解法
- [算法]经典算法8皇后(N皇后)问题的解法,C语言实现
- 皇后问题最快的解法(C语言)八皇后、十六皇后时间在毫秒级
- 201703问题记录总结----八皇后问题C语言解法
- C语言 8皇后问题
- “八皇后问题”的 Python 语言解法
- 8皇后的另类解法
- 8皇后位操作解法
- 8皇后问题(c 语言描述)
- C语言中的8皇后问题。
- 八皇后C语言
- 8皇后问题的两种解法
- 暴力求解法--8皇后问题
- 八皇后 c语言实现
- C语言 八皇后问题
- 八皇后(c语言)
- C语言-八皇后问题
- artifact什么意思--刚刚搞web开发的同学可能要问个为什么
- 多个数最大公约数
- 三种排序方式 (C++实现)
- JQ实现效果:奇偶行颜色不同,单项选择和多项选择
- console输出的一些有价值的栗子
- C语言 8皇后解法
- 03. JDBC 预编译SQL语句 & 储存过程调用
- 老是乱想的人一定要看看,写的太真…
- 算法训练 完数(vip试题)
- 复数运算(对数,指数,正弦)
- js的json、jsonp、ajax
- 复数四则运算以及乘方运算
- Java之IO,BIO,NIO,AIO知多少?
- 算法训练 友好数(VIP试题)