站外题求助(不喜马蜂勿喷)
  • 板块灌水区
  • 楼主123456789xiao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/21 21:46
  • 上次更新2024/11/22 09:19:54
查看原帖
站外题求助(不喜马蜂勿喷)
1021084
123456789xiao楼主2024/11/21 21:46
#include<bits/stdc++.h>
using namespace std;
bool shu[11],xie1[21],xie2[21];
char mode[11][11],n;
void pr(){
	for(int i=1;i<=n;i++){
		cout<<mode[i]<<endl;
	}
}
void init(){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			mode[i][j]='.';
		}
	}
}
void dfs(int step){
	if(step>n){
		pr();
		return;	
	}
	bool flag=true;
	for(int i=1;i<=n;i++){
		if(!shu[step]  &&  !xie1[i+step] && !xie2[step-i+n]){
			mode[step][i]='Q';
			shu[step]=xie1[i+step]=xie2[step-i+n]=true;
			flag=false;
			dfs(step+1);
			mode[step][i]='.';
			shu[step]=xie1[i+step]=xie2[step-i+n]=false;			
		}
	}
	if(flag){
		return;	
	}
}
int main(){
	cin>>n;
	cout<<n;
	dfs(1);
	return 0;
}

错了

题目

2024/11/21 21:46
加载中...