样例过了,全部WA,求助
查看原帖
样例过了,全部WA,求助
677844
wozhenbanghahei楼主2023/4/29 11:44

样例过了,结果全部WA,麻烦大佬看看我这段代码。

#include<bits/stdc++.h>
using namespace std;
int n,ans;
int a[105],book[105],c[105],d[105];
void dfs(int step)
{
	if(step>n)
	{
		ans++;
		if(ans<=3)
		{
			for(int i=1;i<n;i++) cout<<a[i];
			cout<<a[n]<<endl;
		}
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(!book[i] && !c[i+step] && !d[i-step+n])
		{
			book[i]=1;
			c[i+step]=1;
			d[i-step+n]=1;
			a[step]=i;
			dfs(step+1);
			book[i]=0;
			c[i+step]=0;
			d[i-step+n]=0;
		}
	}
	return;
} 
int main()
{
	cin>>n;
	dfs(1);
	cout<<ans;
	return 0;
}

2023/4/29 11:44
加载中...