?? 8.cpp
字號:
#include<stdio.h>
#include<math.h>
int a[8];
int t=1;
void takeout(int row,int col)
{
a[row]=1;
}
void place(int row,int col)
{
a[row]=col;
}
int canplace(int row,int col)
{
int i;
for(i=0;i<row;i++)
if(abs(i-row)==abs(a[i]-col)||a[i]==col)
return(0);
return(1);
}
void printresult()
{
int i,j;
t++;
printf("No %d\n",t);
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if(a[i]==j)
printf("A");
else
printf(".");
printf("\n");
}
}
void search(int m)
{
int i;
if(m>=8)
printresult();
else
{
for(i=0;i<8;i++)
{
if(canplace(m,i))
{
place(m,i);
search(m+1);
takeout(m,i);
}
}
}
}
void main()
{
search(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -