求助 WA61分
查看原帖
求助 WA61分
422009
America楼主2022/7/24 19:32
#include<bits/stdc++.h>
using namespace std;
int n,a[20],b[20],c[20],d[20],ans;
void dfs(int x)
{
	if(x>n)
	{
		ans++;
		if(ans<=3)
		{
			for(int i=1;i<=n;i++)
			{
				cout<<a[i]<<' ';
			}
			cout<<endl;
		}
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(!b[i] && !c[x+i] && !d[n+x-i])
		{
			a[x]=i;
			b[i]=1;
			c[x+i]=1;
			d[n+x-i]=1;
			dfs(x+1);
			b[i]=0;
			c[x+i]=0;
			d[n+x-i]=0;
		}
	}
}
int main()
{
	cin>>n;
	dfs(1);
	cout<<ans;
	return 0;
}
2022/7/24 19:32
加载中...