//mjs

#include

void place(int,int,int [][8],int [][8]);

void ana(int [][8],int [][8]);

void print(int [][8]);

int main()

{

int p[8][8];

int placed[8][8];

int i,j;

for(i=0;i<=7;i++)

{

for(j=0;j<=7;j++)

{

p[i][j]=1;

placed[i][j]=0;

}

}

for(i=0;i<=7;i++)

{

for(j=0;j<=7;j++)

{

place(i,j,p,placed);

ana(p,placed);

}

}

return(0);

}

//***************************************************

void place(int i,int j,int p[][8],int placed[][8])

{

placed[i][j]=1;

int a,b,k;

for(k=0;k<=7;k++)

{

p[i][k]=0;

p[k][j]=0;

if(k+i<=7 && k+j<=7)

{

p[k+i][k+j]=0;

}

if(k+i<=7 && j-k>=0)

{

p[k+i][j-k]=0;

}

if(i-k>=0 && k+j<=7)

{

p[i-k][k+j]=0;

}

if(i-k>=0 && j-k>=0)

{

p[i-k][j-k]=0;

}

}

for(a=0;a<=7;a++)

{

for(b=0;b<=7;b++)

{

if(p[a][b]==1)

place(a,b,p,placed);

}

}

}

//***************************************************

void ana(int p[][8],int placed[][8])

{

int a,b;

int c=0;

for(a=0;a<=7;a++)

{

for(b=0;b<=7;b++)

{

if(placed[a][b]==1)

{

c++;

}

}

}

if(c==8)

{

print(placed);

}

else

{

for(a=0;a<=7;a++)

{

for(b=0;b<=7;b++)

{

p[a][b]=1;

placed[a][b]=0;

}

}

}

}

//***************************************************

void print(int placed[][8])

{

int a,b;

for(a=0;a<=7;a++)

{

for(b=0;b<=7;b++)

{

if(placed[a][b]==0)

printf(" O ");

if(placed[a][b]==1)

{

printf(" * ");

}

}

printf("\n\n");

}

}