📄 bahuanghou.cpp
字号:
int s[9],close[1000];
bool a[9],b[17],c[17];
long flag=0,flag1=0;
#include<stdio.h>
void main()
{
void move(int i,int j);
void close_insert(int s[]);
void search();
int k;
search();
for(k=0;k<flag-8;k++)
{if(k%8==0)
printf("行号: 1 2 3 4 5 6 7 8\n列号:");
printf("%2d",close[k]);
if((k+1)%8==0)
printf("\n\n");}
printf("总共%d个\n",flag1);
}
void move(int i,int j){
a[j]=1;b[i+j]=1;c[i-j+9]=1;}
void close_insert(int s[]){
int i,j=flag;
for(j,i=1;j<flag+8,i<9;j++,i++)
close[j]=s[i];}
void search()
{int i,j;
for(i=2;i<=16;i++)
{
if(i>=2&&i<=9)
a[i-1]=1;b[i]=1;c[i]=1;
}
i=1;j=1;
while(i>=1)
{
while(j<=8)
{
if(a[j]&&b[i+j]&&c[i-j+9]) break;
j++;
}
if(j<=8)
{
a[j]=0;b[i+j]=0;c[i-j+9]=0;
s[i]=j;
if(i==8)
{
close_insert(s);flag+=8;
flag1++;
move(i,j);
i=i-1;j=s[i];
move(i,j);
j++;
}
else
{
i++;j=1;
}
}
else
{i--;
if(i>=1)
{j=s[i];
move(i,j);
j++;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -