八皇后问题求调
  • 板块学术版
  • 楼主lucky_loser
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/1/30 10:23
  • 上次更新2023/10/24 02:36:19
查看原帖
八皇后问题求调
754146
lucky_loser楼主2023/1/30 10:23

一本通上运行错误(题目链接

#include<bits/stdc++.h>
#define int long long
using namespace std;
bool d[17],b[9],c[17];
int sum,a[9];
int print()
{
	int i;
	sum++;
	cout<<"No. "<<sum<<endl;
	for(i=1;i<=8;i++)
	{
		for(int j=1;j<=8;j++)
		{
			if(a[j]==i)
				printf("1 ");
			else
				printf("0 ");			
		}
		printf("\n");
	}
	cout<<endl;
}
int search(int i)
{
	int j;
	for(j=1;j<=8;j++)
		if((!b[j])&&(!c[i+j])&&(!d[i-j+7]))
		{
			a[i]=j;
			b[j]=1;
			c[i+j]=1;
			d[i-j+7]=1;
			if(i==8)
				print();
			else
				search(i+1);
			b[j]=0;
			c[i+j]=0;
			d[i-j+7]=0;
		}
}
signed main()
{
	search(1);
	return 0;
}
2023/1/30 10:23
加载中...