ai-2698-八皇后问题-C语言-递归求解
来源:互联网 发布:知世故而不世故 下联 编辑:程序博客网 时间:2024/06/05 08:04
算法丑陋,速度略慢,还望指教。
#include <stdio.h>#include <stdlib.h>#include <math.h>short queenplaces[92][8];//每个8位数组记录了那一列皇后所在的列indexshort nowline=0;short board[8][8];void putqueen(int n)//n+1表示正在解决哪一个皇后了{ short i,j,k; if(n==8) { nowline++; return; } for(i=0;i<8;i++) { if(board[i][n]==0) { for(j=nowline;j<92;j++) queenplaces[j][n]=i; board[i][n]=1; for(j=0;j<8;j++) for(k=0;k<8;k++) (board[j][k]==0&&(i==j||n==k||abs(i-j)==abs(k-n)))?(board[j][k]=n+1):0; putqueen(n+1); for(j=0;j<8;j++) for(k=0;k<8;k++) (board[j][k]==n+1&&(i==j||k==n||abs(i-j)==abs(k-n)))?(board[j][k]=0):0; board[i][n]=0; } }}int main(){ short i,j,k; for(i=0;i<8;i++) for(j=0;j<8;j++) board[i][j]=0; putqueen(0); for(i=0;i<92;i++) { printf("No. %d\n",i+1); for(j=0;j<8;j++) { for(k=0;k<8;k++) (j==queenplaces[i][k])?(printf("1 ")):(printf("0 ")); printf("\n"); } } return 0;}
0 0
- ai-2698-八皇后问题-C语言-递归求解
- C语言回溯法递归求解八皇后问题
- 八皇后问题-C语言求解
- 递归求解N皇后问题(c语言)
- 八皇后递归求解问题
- 递归求解八皇后问题
- 八皇后问题 递归求解
- 递归求解八皇后问题
- 八皇后问题--递归求解
- 递归求解八皇后问题
- 八皇后问题 递归求解
- poj-2754-八皇后-C语言-递归求解
- poj-2754-八皇后-C语言-递归求解(2)
- 八皇后问题 C语言,递归,非递归,循环!
- “八皇后”问题递归法求解
- 八皇后问题之递归法求解
- Matlab 递归求解八皇后问题
- 利用递归求解八皇后问题
- eclipse 优化
- BabeLua--Lua调试器
- 2017 程序设计实习之C++部分作业题汇总
- jquery可见性过滤选择器
- K-means算法的Python实现
- ai-2698-八皇后问题-C语言-递归求解
- Mac的Finder上显示当前目录的全路径[不定期更新]
- oracle插入数据时,返回自增的id
- 第五次上机作业
- java单例模式
- POJ 1075 University Entrance Examination 笔记
- 两个点的关系
- 媒体数据库的数据查询
- 调度---------操作系统