格式错误,哪位大佬帮帮我
查看原帖
格式错误,哪位大佬帮帮我
752847
yihan0215楼主2023/5/19 20:53
#include<bits/stdc++.h>
using namespace std;
bool s[14][14],c[14],a[26],b[26];
int sum=0,n;
void dfs(int cus)
{
	bool f1=false;
	if(cus==n)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[cus+i]&&b[i-cus+n]&&c[i])
			{
				f1=true;
				s[cus][i]=true;
				break;
			}
		}
		if(f1)
		{
			sum++;
			if(sum<=3)
			{
				for(int i=1;i<=n;i++)
				{
					for(int j=1;j<=n;j++)
					{
						if(s[i][j]&&j<=n) cout<<j<<" ";		
					}
				}
				cout<<endl;
			}
			
		}
	}
	else{
		for(int i=1;i<=n;i++)
		{
			if(c[i]&&b[i-cus+n]&&a[i+cus])
			{
				c[i]=false;
				b[i-cus+n]=false;
				a[i+cus]=false;
				s[cus][i]=true;
				dfs(cus+1);
				c[i]=true;
				b[i-cus+n]=true;
				a[i+cus]=true;
				s[cus][i]=false;
			}
		}
	}
}
int main()
{
	cin>>n;
	memset(s,false,sizeof(s));
	memset(a,true,sizeof(a));
	memset(b,true,sizeof(b));
	memset(c,true,sizeof(c));
	dfs(1);
	cout<<sum;
}
2023/5/19 20:53
加载中...