社区讨论

最后一个错误,求大佬帮助

P1219[USACO1.5] 八皇后 Checker Challenge参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@m6d89sh9
此快照首次捕获于
2025/01/26 14:17
去年
此快照最后确认于
2025/11/04 10:18
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int x,ans=0;
int a[17],b1[17],b2[17],b3[40];

void dfs(int n)
{
	if(n>x)
	{
		ans++;
		if(ans<=3)
		{
			for(int i=1;i<=x;i++)
			{
				cout<<a[i]<<" ";
			}
			cout<<endl;
		}
		return;
	}
	for(int i=1;i<=x;i++)
	{
		if(b1[i]==0&&b2[n+i]==0&&b3[n-i+15]==0)
		{
			a[n]=i;
			b1[i]=1; b2[n+i]=1; b3[n-i+15]=1;
			dfs(n+1);
			b1[i]=0; b2[n+i]=0; b3[n-i+15]=0;
		}
	}
}

int main()
{
	cin>>x;
	dfs(1);
	cout<<ans;
	return 0;
}
只得了87分,下载完测试点后和输出原题测试点一样,不知道为什么错了,求大佬帮助。

回复

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

正在加载回复...