📄 八皇后问题二.txt
字号:
#include <stdio.h>
int col[8] , temp=0 ;
void qu(int n)
{
int pan(int) ;
void pri(void) ;
int t;
if(n==0)
t=4 ;
else
t=8 ;
for(col[n]=0; col[n]<t; col[n]++ )
{if(pan(n)) continue ;
if (n!=7)
qu(n+1);
else
pri() ;
}
}
void pri(void)
{
int i, j;
for (i=0; i<8; i++)
{for (j=0; j<8; j++)
{if( col[i]==j )
printf("Q ") ;
else
printf("X ") ;
}
printf("\n") ;
}
temp++ ;
printf("\n%d\n",temp) ;
getchar();
}
int pan(int t)
{
int i,n=0 ;
for(i=0; i<t; i++)
{if (col[i]==col[t])
{n=1; break;}
if( (col[t]+t) == (col[i]+i) )
{n=1; break;}
if( (col[t]-t) == (col[i]-i) )
{n=1; break;}
}
return(n);
}
main()
{
printf("\n") ;
qu(0);
printf("%dEnd\n",temp) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -