N皇后多输出空行求修改
  • 板块学术版
  • 楼主A_Wolf_C
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/10/18 17:02
  • 上次更新2023/11/4 03:23:42
查看原帖
N皇后多输出空行求修改
505786
A_Wolf_C楼主2021/10/18 17:02
#include <bits/stdc++.h>
using namespace std;
int a[105];
int l[10005],r[10005],f[10005];
int cnt=0;
int n;
void dfs(int step){
	if(step>n){
		cnt++;
		if(cnt<=3){
			for(int i=1;i<=n;i++){
			    cout<<a[i]<<" ";
			}	
		}
		cout<<endl;
		return;
		}
	for(int i=1;i<=n;i++){
		if(l[i]==0&&r[step-i+n]==0&&f[step+i]==0){
			a[step]=i;
			l[i]=1;
			r[step-i+n]=1;
			f[step+i]=1;
			dfs(step+1);
			a[step]=0;
			l[i]=0;
			r[step-i+n]=0;
			f[step+i]=0;
		}
	}
}
int main(){
    cin>>n;
	dfs(1);
	cout<<cnt;
	return 0;
} 

全WA求改QWQ

2021/10/18 17:02
加载中...