Cod sursa(job #1138678)

Utilizator Mihai_ChihaiMihai Chihai Mihai_Chihai Data 10 martie 2014 13:56:16
Problema Problema Damelor Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.8 kb
program damer;
 var t:array[1..100] of integer;
     n,i,ans:integer;

 procedure tipar;
  var i:integer;
 begin
   for i:=1 to n do write(t[i],' ');
   writeln;
 end;

 procedure dame(k:integer);
   var i,j:integer;
        corect:boolean;
 begin
   if k=n+1 then begin
     if ans = 0 then tipar;
     inc(ans);
     end
          else
     for i:=t[k]+1 to n do
       begin
       t[k]:=i;
       corect:=true;
       for j:=1 to k-1 do
         if (t[j]=t[k])   or (abs(j-k)=abs(t[j]-t[k])) then
                      corect:=false;
       if corect then dame(k+1);
       end;
   t[k]:=0;
 end;


 begin
   assign(input,'damesah.in');
   reset(input);
   assign(output,'damesah.out');
   rewrite(output);
   readln(n);
   dame(1);
   writeln(ans);
   close(output);
 end.