#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
void exchange(int input[],int p,int q){
int temp=input[p];
input[p]=input[q];
input[q]=temp;
}
int p(int input[],int check[],int start,int end){
int i=0,j=0;
if(start==end){
// 测试是否是在y=-x+b上
for(i=0;i<end;i++){
check[i]=i+1+input[i];
}
sort(check,check+end);
int num=check[0];
for(j=1;j<end;j++){
if(num==check[j]){
return 0;
}
else{
num=check[j];
}
}
// 测试是否是在y=x+b上
for(i=0;i<end;i++){
check[i]=i+1-input[i];
}
sort(check,check+end);
num=check[0];
for(j=1;j<end;j++){
if(num==check[j]){
return 0;
}
else{
num=check[j];
}
}
// 测试通过打印结果
for(i=0;i<end;i++){
printf("%d",input[i]);
}
printf("\n");
}
for(int i=start;i<end;i++){
exchange(input,start,i);
p(input,check,start+1,end);
exchange(input,start,i);
}
}
int main(){
int length,i,j;
scanf("%d",&length);
int input[100];
int check[100];
for(i=0;i<length;i++){
input[i]=i+1;
check[i]=i+1;
}
p(input,check,0,length);
}
N皇后问题
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 听完【情绪】 【情绪】每一个人都有一个自己的世界 最近我们谈的话题是“情绪”。 情绪管理是精力管理的组成部分。 我...