#include<stdio.h>
#include<stdlib.h>
//存放皇后节点的队列
int queen[5] = {0}; //line和list的映射
int n =4 ;
int counts = 0;
//跟该行以前的行的皇后作比较看是否可以放置
int checkQueen(int line,int list){
int BeforeLine;
for(BeforeLine = 1; BeforeLine < line; BeforeLine++){
if(queen[BeforeLine] == list) return 0;
else if(line+queen[BeforeLine]== BeforeLine+list || line-queen[BeforeLine]== BeforeLine-list) return 0;
}
return 1;
}
//打印输出结果
void print(){
int line, list;
for(line = 1;line <= n; line++){
for(list = 1; list <= n; list++){
if(queen[line] == list) printf("#");
else printf("0");
}
printf("\n");
}
printf("
回溯法解决N皇后问题(C语言)
最新推荐文章于 2024-05-17 20:22:06 发布
本文介绍了如何使用回溯法来解决经典的N皇后问题,详细探讨了C语言实现这一算法的过程。
摘要由CSDN通过智能技术生成