- <html><head><title>Dames</title><style>td{width:20px;height:20px;font-family:Verdana,Arial,Helvetica;font-size:12px;text-align:center;color:white}</style></head>
- <body bgcolor="silver"><hr /><script language="Javascript"><!--
- var n=8,b=0,p=new Array(),a=new Array();
- function abm(a,b){return a<b?b-a:a-b;}
- function conflit(i,j,x,y){return (i==x)||(j==y)||(abm(i,x)==abm(j,y));}
- function compat(i,j){for(var k=0;k<i;k++)if(conflit(i,j,k,p[k]))return false;return true;}
- function reines(i){if(i>=n)return affiche();for(var j=0;j<n;j++)if(compat(i,j)){p[i]=j;reines(i+1);}}
- function vide(){var x;for(x=0;x<n*n;x++)a[x]="";}
- function aff()
- {
- with(document)
- {
- write("<td><table border='1px' width='"+20*n+"px' height='"+20*n+"px' cellpadding='0' cellspacing='0'>");
- var x,y;
- for(y=0;y<n;y++)
- {
- write("<tr>");
- for(x=0;x<n;x++)
- {
- if((x+y)%2)write("<td bgcolor='black'>"+a[n*y+x]+"</td>");
- else write("<td bgcolor='white'><font color='black'>"+a[n*y+x]+"</font></td>");
- }
- write("</tr>");
- }
- write("</table></td>");
- vide();
- }
- }
- function affiche()
- {
- with(document)
- {
- var x,c="®",z=n-1;
- vide();
- write("<table><tr>");
- for(x=0;x<n;x++)a[p[x]+n*x]=c;aff();
- for(x=0;x<n;x++)a[z-p[x]+n*x]=c;aff();
- for(x=0;x<n;x++)a[x+n*p[x]]=c;aff();
- for(x=0;x<n;x++)a[x+n*p[z-x]]=c;aff();
- write("</tr><tr>");
- for(x=0;x<n;x++)a[p[z-x]+n*x]=c;aff();
- for(x=0;x<n;x++)a[z-p[z-x]+n*x]=c;aff();
- for(x=0;x<n;x++)a[x+n*(z-p[x])]=c;aff();
- for(x=0;x<n;x++)a[x+n*(z-p[z-x])]=c;aff();
- write("</tr></table>"+(++b)+"<hr>");
- }
- }
- reines(0);
- //--></script></body></html>
<html><head><title>Dames</title><style>td{width:20px;height:20px;font-family:Verdana,Arial,Helvetica;font-size:12px;text-align:center;color:white}</style></head>
<body bgcolor="silver"><hr /><script language="Javascript"><!--
var n=8,b=0,p=new Array(),a=new Array();
function abm(a,b){return a<b?b-a:a-b;}
function conflit(i,j,x,y){return (i==x)||(j==y)||(abm(i,x)==abm(j,y));}
function compat(i,j){for(var k=0;k<i;k++)if(conflit(i,j,k,p[k]))return false;return true;}
function reines(i){if(i>=n)return affiche();for(var j=0;j<n;j++)if(compat(i,j)){p[i]=j;reines(i+1);}}
function vide(){var x;for(x=0;x<n*n;x++)a[x]="";}
function aff()
{
with(document)
{
write("<td><table border='1px' width='"+20*n+"px' height='"+20*n+"px' cellpadding='0' cellspacing='0'>");
var x,y;
for(y=0;y<n;y++)
{
write("<tr>");
for(x=0;x<n;x++)
{
if((x+y)%2)write("<td bgcolor='black'>"+a[n*y+x]+"</td>");
else write("<td bgcolor='white'><font color='black'>"+a[n*y+x]+"</font></td>");
}
write("</tr>");
}
write("</table></td>");
vide();
}
}
function affiche()
{
with(document)
{
var x,c="®",z=n-1;
vide();
write("<table><tr>");
for(x=0;x<n;x++)a[p[x]+n*x]=c;aff();
for(x=0;x<n;x++)a[z-p[x]+n*x]=c;aff();
for(x=0;x<n;x++)a[x+n*p[x]]=c;aff();
for(x=0;x<n;x++)a[x+n*p[z-x]]=c;aff();
write("</tr><tr>");
for(x=0;x<n;x++)a[p[z-x]+n*x]=c;aff();
for(x=0;x<n;x++)a[z-p[z-x]+n*x]=c;aff();
for(x=0;x<n;x++)a[x+n*(z-p[x])]=c;aff();
for(x=0;x<n;x++)a[x+n*(z-p[z-x])]=c;aff();
write("</tr></table>"+(++b)+"<hr>");
}
}
reines(0);
//--></script></body></html>