八皇后无输出
  • 板块灌水区
  • 楼主zhuyanchu
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/12/29 10:45
  • 上次更新2024/12/29 15:57:01
查看原帖
八皇后无输出
884385
zhuyanchu楼主2024/12/29 10:45

代码如下:

#include<bits/stdc++.h>
using namespace std;
	int place[8]={0};
	bool flag[8]={1,1,1,1,1,1,1,1};
	bool d1[15]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
	bool d2[15]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
	int number=0;
	void print();
	void g(int m);
int main(){
		g(0);
	return 0;
}
void g(int n){
	int col;
	for(col=0;col<0;col++){
		if(flag[col] && d1[n-col+7] && d2[n+col]){
			place[n]=col;
			flag[col]=false;
			d1[n-col+7]=false;
			d2[n+col]=false;
			if(n<7){
				g(n+1);
			}
			else{
				print();
			}
			flag[col]=true;
			d1[n-col+7]=true;
			d2[n+col]=true;
		}
	}
}
void print(){
	int col,i,j;
	number++;
	printf("No.%d\n",number);
	int table[8][8]={0};
	for(int col=0;col<8;col++){
		table[col][place[col]]=1;
	}
	for(int i=0;i<8;i++){
		for(int j=0;j<8;j++){
	printf("%d ",table[j][i]);
		}
		printf("\n");
	}
	
}

入机求教

2024/12/29 10:45
加载中...