1. 程式人生 > >經典演算法(1)——8皇后問題求解(回溯法)

經典演算法(1)——8皇后問題求解(回溯法)

問題描述:

八皇后問題是大數學家高斯於1850年提出來的。該問題是在8×8的國際象棋棋盤上放置8個皇后,使得沒有一個皇后能“吃掉”任何其他一個皇后,即沒有任何兩個皇后被放置在棋盤的同一行、同一列或同一斜線上。

要求:

編一個程式求出該問題的所有解。

演算法思想:

回溯法 使用回溯演算法求解的問題特徵,求解問題要分為若干步,且每一步都有幾種可能的選擇,而且往往在某個選擇不成功時需要回頭再試另外一種選擇,如果到達求解目標則每一步的選擇構成了問題的解,如果回頭到第一步且沒有新的選擇則問題求解失敗。 該問題也可擴充套件到N後問題求解,只需修改程式main函式中的n值即可。

程式碼如下:

/************************************************************************
 *  n後問題求解
 ***********************************************************************
*/


#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<math.h>
#include 
<conio.h>

#define MAXNUMBER 20

//判斷當前得到的解向量是否滿足問題的解
bool place_queen(
int x[],int k)
{
    
int i;
    
for(i=1;i<k;i++)
    
{
        
if((x[i]==x[k]) || (abs(x[i]-x[k])==abs(i-k)))
            
returnfalse;
    }


    
returntrue;
}


//將結果簡單資訊列印到螢幕
void output_queens(int x[],int n)
{
    
for(int i=1;i<=n;i++)
        printf(
"%3d",x[i]);

    printf(
"");
}


//將結果詳細資訊寫入檔案
void output_queens(FILE 
*fp,int number,int x[],int n)
{
    fprintf(fp,
"solution %d: ",number);
    
for(int i=1;i<=n;i++)
    
{
        
for(int j=1;j<=n;j++)
        
{
            
if(j==x[i])
                fprintf(fp,
"1  ");
            
else
                fprintf(fp,
"0  ");
        }

        fprintf(fp,
"");
    }

    fprintf(fp,
"");
}


/************************************************************************
 *  n後問題求解
 *  input  : n, the number of queens
 *  output : the vector of solution, X
 ***********************************************************************
*/

int n_queens(FILE *fp,int n,int x[])
{
    
int nCount=0;    //解個數
int k=1;        //先處理第1個皇后
    x[1]=0;

    
while(k>0)
    
{
        x[k]
=x[k]+1;//在當前列加1的位置開始搜尋

        
while(x[k]<=&&!place_queen(x,k))    //當前列位置是否滿足條件
            x[k]=x[k]+1;    //不滿足,繼續搜尋下一列位置

        
if(x[k]<=n)    //若存在滿足條件的列
{
            
if(k==n)//是最後一個皇后,則得到一個最終解
{
                
//break;    //此處若break,則只能得到一個解
                nCount++;
                output_queens(x,n);    
//輸出
                output_queens(fp,nCount,x,n);
            }

            
else//否則,處理下一個皇后,即第 k+1 個皇后
{
                k
++;
                x[k]
=0;
            }

        }

        
else//若不存在滿足條件的列,則回溯
{
            x[k]
=0;    //第k個皇后復位為0
            k--;    //回溯到前一個皇后
        }

    }


    
return nCount;
}


int main()
{
    
int n=8,x[MAXNUMBER]={0};

    FILE 
*fp=fopen("8皇后問題的解.txt","w");
    
if(fp==NULL)
    
{
        printf(
"can not wirte file!");
        exit(
0);
    }


    printf(
"the queens are placed on the coloums : ");
    
//求解並寫入檔案
int nCount=n_queens(fp,n,x);
    printf(
"there are %d solutions! ",nCount);
    fclose(fp);
    getch();    

    
return0;
}

執行結果如下(1表示皇后放置位置):

solution 1:
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 

solution 2:
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 3:
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 

solution 4:
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 5:
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 

solution 6:
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 

solution 7:
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 8:
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 9:
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 

solution 10:
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 

solution 11:
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 12:
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 

solution 13:
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 14:
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 15:
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 

solution 16:
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 

solution 17:
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 18:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 

solution 19:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 

solution 20:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 

solution 21:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 

solution 22:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 

solution 23:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 

solution 24:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 

solution 25:
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 

solution 26:
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 27:
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 28:
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 29:
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 30:
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 

solution 31:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 32:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 33:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 

solution 34:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 35:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 36:
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 

solution 37:
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 38:
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 

solution 39:
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 

solution 40:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 41:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 42:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 

solution 43:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 

solution 44:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 

solution 45:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 46:
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 47:
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 

solution 48:
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 49:
0  0  0  0  1  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 

solution 50:
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 51:
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 

solution 52:
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 

solution 53:
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 54:
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 55:
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 

solution 56:
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 

solution 57:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 

solution 58:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 59:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 

solution 60:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 

solution 61:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 

solution 62:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 

solution 63:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 64:
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 

solution 65:
0  0  0  0  0  1  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  1  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  1  0  0  0  0 

solution 66:
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 

solution 67:
0  0  0  0  0  1  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  0  1  0  0  0  0  0 

solution 68:
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 

solution 69:
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  1  0 
0  0  0  0  1  0  0  0 

solution 70:
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
1  0  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 
0  0  0  0  1  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  0  0  0  0  0  1  0 

solution 71:
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  1  0 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0 
0  1  0  0  0  0  0  0 
0  0  0  0  0  0  0  1 

solution 72:
0  0  0  0  0  1  0  0 
0  0  1  0  0  0  0  0 
0  0  0  0  1  0  0  0 
0  0  0  0  0  0  0  1 
1  0  0  0  0  0  0  0 
0  0  0  1  0  0  0  0