queen.c
来自「这是数据结构与算法描述一书中所有的源代码」· C语言 代码 · 共 37 行
C
37 行
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
void queen(int n)
{ int i,j,k,jt,*q;
q=malloc(n*sizeof(int));
for(i=0; i<n; i++) q[i]=0;
i=0; jt=1;
printf("\n");
printf("%d queen problem\n",n);
while(jt==1)
{ if (q[i]<n)
{ k=0;
while((k<i)&&((q[k]-q[i])*
(fabs(q[k]-q[i])-fabs(k-i)))!=0) k=k+1;
if (k<i) q[i]=q[i]+1;
else
{ if (i==n-1)
{ for(j=0; j<n; j++)
printf("%5d",q[j]+1);
printf("\n");
q[n-1]=q[n-1]+1;
}
else i=i+1;
}
}
else
{ q[i]=0; i=i-1;
if (i<0)
{ printf("\n"); free(q); return; }
q[i]=q[i]+1;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?