#include<stdio.h>
#define M 8
#include"graphics.h"
#define N 9
#define J 50
int a[M],k=0;
f()
{int i,x[N];int m,n,a[4][2];
cleardevice();setfillstyle(1,15);
for(i=0;i<N;i++)
x[i]=J*i+1 ;
for(i=0;i<N;i++)
for(i=0;i<=(N-1)*(N-1)-1;i++)
{m=i/8;n=i%8;
a[0][0]=x[m];a[0
][1]=x[n];a[1][0]=x[m+1];a[1][1]=x[n];
a[2][0]=x[m+1];a[2][1]=x[n+1];a[3][0]=x[m];a[3][1]=x[n+1];
if((m+n)%2==0)
fillpoly(4,a);}
}
l(int j,int k)
int g()
{int n,m;
for(n=0;n<M;n++)
for(m=n+1;m<M;m++)
if(m!=n&&(a[n]==a[m]a[n]+n==a[m]+ma[n]-n==a[m]-m))
return(0);
return(1);
}
void h(int n)
{int i,m;
for(i=1;i<=M;i++)
{a[n-1]=i;
if(n>1) h(n-1);
else if(g())
{ f();
for(m=0;m<M;m++)
l(m+1,a[m]);getch();}
}
}
void main() /*8 Quen*/
{ int n; int gd=DETECT,gm;initgraph(&gd,&gm,"");
n=M;
h(n);
getch();
printf("That's all.Thank you!");
getch();
}