八皇后问题的C语言实现
2010-02-26 15:58
295 查看
问题就不描述了,直接上代码:
#include<stdio.h> int chess[8][8]={0}; int a[8],b[15],c[15]; int sum=0; //统计所有摆法 void PutQueen(int n) { int col,i,j; for(col=0;col<8;col++) { if(a[col]&& b[n+col] && c[n-col+7]) //判断安全位置 { chess [col]=1; //放置皇后 a[col]=0; b[n+col]=0; c[n-col+7]=0; if(n==7) { sum++; printf("第%d种可能的摆法:/n",sum); //输出皇后摆法 for(i=0;i<8;i++){ printf("/t/t"); for(j=0;j<8;j++) printf("%d ",chess[i][j]); printf("/n"); } printf("/n"); // goto END; //输出第一种摆法 if(sum%10==0) //每输出十种暂停 { printf("按回车键继续……"); getchar(); } } else PutQueen(n+1); //递归 chess [col]=0; //取消皇后 b[n+col]=1; c[n-col+7]=1; a[col]=1; } } //END: return; } int main() { int i; for(i=0;i<8;++i) a[i]=1; for(i=0;i<15;++i) { b[i]=1; c[i]=1; } PutQueen(0); printf("八皇后摆法总数: %d/n",sum); return 0; }
相关文章推荐
- 八皇后问题,C语言实现,求出第一行第一列有皇后的解
- C语言——八皇后问题
- 顺序表实现之C语言(附加各种顺序表排序问题)
- C语言实现括号匹配问题
- 八皇后问题用C语言解决
- 分离链接法解决hash冲突问题(C语言实现)
- C语言实现整除问题
- 01背包问题 动态规划 c语言实现
- 矩阵连乘问题 C语言实现
- 【算法】八皇后问题 Python实现
- 0-1问题代码(c语言实现)
- 八皇后问题-C语言
- 素数问题的C语言实现
- 八皇后问题三种实现
- C语言指针实现循环报数问题(简单约瑟夫环问题)
- 《编程之美》买书问题及c语言代码实现
- 八皇后问题java实现
- 用C语言实现迷宫求解问题
- 兔子生娃问题---函数递归应用--c语言实现
- C语言,数组实现约瑟夫环问题(两种方法)