社区讨论

搜索,什么是搜索啊大佬们

灌水区参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lob9lqwf
此快照首次捕获于
2023/10/29 17:24
2 年前
此快照最后确认于
2023/11/03 23:25
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
char x[50][50];
int bu[50][50], d;
bool nf(int h,int l)
{
	for(int i=1;i<h;i++)
	{
		for(int o=1;o<=8;o++)
		{
			if(bu[i][o]==1)
			{
				if(l==o||h-i==l-o||i+o==h+l) return false;
			}
		}
	}
	return true;
}
void dfs(int h)
{
	//cout<<h<<" ";
	if(h==9)
	{
		d++;
		cout<<"No. "<<d<<endl;
		for(int i=1;i<=8;i++)
		{
			for(int o=1;o<=8;o++)
			{
				cout<<bu[o][i]<<" ";
			}
			cout<<endl;
		}
		return;
	}
	for(int i=1;i<=8;i++)
	{
		if(nf(h,i))
		{
			bu[h][i]=1;
			dfs(h+1);
			bu[h][i]=0;
		}
	}
}
int main()
{
	dfs(1);
	return 0;
}

其实它的整体我都知道,但40-43行我就看不懂了,为什么它变来变去啊这,它这个不会对后面有影响吗
emmm,这不是洛谷的,是[1700:八皇后问题],noi的(http://noi.openjudge.cn/ch0205/1700/) 请大家帮我解答一下,谢谢!

回复

7 条回复,欢迎继续交流。

正在加载回复...