求助八皇后,样例能过提交全WA
查看原帖
求助八皇后,样例能过提交全WA
182938
绿豆沙楼主2023/7/19 22:04
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000001;
int vis[2][maxn];
int c[maxn];
int tot=0,n;
void dfs(int cur){
	if(cur>n){
		if(tot<=2){
			for(int i=1;i<=n;i++){
				cout<<c[i]<<" ";
			}
			cout<<endl;
		}
		tot++;
	}
	else for(int i=1;i<=n;i++){
		if(!vis[0][i]&&!vis[1][cur+i]&&!vis[2][cur-i+n]){
			c[cur]=i;
			vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=1;
			dfs(cur+1);
			vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=0;
		}
	}
	return; 
}
int main(){
	cin>>n;
	dfs(1);
	cout<<tot;
	return 0;
} 

记录,不知道为啥会read 0

2023/7/19 22:04
加载中...