首页 新闻 会员 周边 捐助

N皇后问题递归 可以输入不能输出为什么啊?我写的哪里有问题吗?

0
悬赏园豆:10 [已关闭问题] 关闭于 2023-04-24 11:38

include<bits/stdc++.h>

using namespace std;
int n;
int Q[100];
void Nqueen(int k);//0~K-1行已经摆好

int main(){

scanf("%d",&n);
Nqueen(0);


return 0;

}

void Nqueen(int k)//0~K-1行已经摆好
{
int i;
if(k==n)
{
for(i=0;i<n;i++)
printf("%d",Q[i]+1);
return ;

}
for(i=0;i<n;i++)//第K个皇后可以选择的列 
{
	int j; 
	for( j=0;j<k;j++)//与K-1比较 
	{
		if(Q[j]==i||abs(k-j)==abs(Q[j]-i))break;
		
	}
	if(j==k){
		Q[k]==i; 
		Nqueen(k+1);
	}
}

}

吱吱1号的主页 吱吱1号 | 菜鸟二级 | 园豆:202
提问于:2023-04-24 11:08
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册