#10 TLE求调
查看原帖
#10 TLE求调
1054001
_Lazy_zhr_楼主2024/4/21 17:28
#include<bits/stdc++.h>
using namespace std;
int n,ans[100],sum;
bool k(int a,int b)
{
	for(int i=1;i<a;i++)
	if(b==ans[i]||b==a+(ans[i]-i)||b==i+ans[i]-a)
	return false;
	return true;
}
void dfs(int s)
{
	if(s>n)
	{
		sum++;
		if(sum<=3)
		{
			for(int i=1;i<=n;i++)
			cout<<ans[i]<<" ";
			cout<<"\n";
		}
		return ;
	}
	for(int i=1;i<=n;i++)
	if(k(s,i))
	{
		ans[s]=i;
		dfs(s+1);
	}
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n;
	dfs(1);
	cout<<sum;
	return 0;
}
2024/4/21 17:28
加载中...