N皇后问题:
#include<stdio.h>
#include<math.h>
int queen[8];
int n,num=0;
void pl(int k)
{
int i,j;
if(k==8)
{
num++;
if(num==n)
{
for(i=0;i<8;i++)
printf("%d",queen[i]);
printf("\n");
}
}
for(i=1;i<=8;i++)
{
for(j=0;j<k;j++)
{
if(queen[j]==iabs(queen[j]-i)==abs(k-j)/行之差等于列之差/)break;
}
if(j==k)
{
queen[k]=i;
pl(k+1);
}
}
}
int main()
{
scanf("%d",&n);
pl(0);
return 0;
}
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!