试问这该咋改
查看原帖
试问这该咋改
808654
FIGFUH001楼主2023/12/23 11:48
#include<iostream>
#include <cstdio>
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
const int N=20;
char g[N][N];
bool col[N],dg[N],udg[N];
int n,num=1;
void dfs(int u){
	if(u==n){
//		cout<<"No. "<<num<<endl; 
		for(int i=0;i<n;i++){
			puts(g[i]);
			
		}num++;
		return;
	}for(int i=0;i<n;i++){
		if(!col[i]&&!dg[u+i]&&!udg[n-u+i]){
			g[i][u]='1';			
			col[i]=dg[u+i]=udg[n-u+i]=true;
			dfs(u+1);
			col[i]=dg[u+i]=udg[n-u+i]=false;
			g[i][u]='0';
		}
	}
}

int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			g[j][i]='0';
		}
	}dfs(0);
	return 0;
}
2023/12/23 11:48
加载中...