不会停止换行……求解,9wa1tle,求调
查看原帖
不会停止换行……求解,9wa1tle,求调
774695
wzh0910楼主2023/7/27 15:47
#include<iostream>
using namespace std;
int a[15],k,c=0;
long long cnt;
bool check(int n)
{
	for(int i=1;i<n;i++)
	{
		if(a[i]==a[n]||i-a[i]==n-a[n]||i+a[i]==n+a[n])
		{
			return 0;
		}
	}
	return 1;
}
void dfs(int n)
{
	if(n==k+1)
	{
		cnt++;
		
		for(int i=1;i<=k;i++)
		{
			if(c>=3)break;
			cout<<a[i]<<" ";
		}
		c++;
		cout<<"\n";
	}
	else
	{
		for(int i=1;i<=k;i++)
		{
			a[n]=i;
			if(check(n))
			{
				dfs(n+1);
			}
		}
	}
} 
int main()
{
	cin>>k;
	dfs(1);
	cout<<cnt;
	return 0; 
}
2023/7/27 15:47
加载中...