All pastes #825723 Raw Edit

Unnamed

public text v1 · immutable
#825723 ·published 2007-12-20 19:34 UTC
rendered paste body
program szek;
var v:Array[1..100] of Integer;
sz,dbsz,db,n:Integer;
nev:Array[1..100] of String;
kor:Array[1..100] of Integer;

procedure kiir(k:Byte);
var z,y:Byte;
begin
 inc(db);
  for z:=1 to k do
   begin
   for y:=1 to n do
    if y=v[z] then Write(y,' ');
   end;

   if db mod 20=0 then begin
                      WriteLn;
                     end;
  WriteLn;
end;

function jo(k:Byte):Boolean;
var ok:Boolean;
x:Integer;
begin
 ok:=True;
 for x:=1 to k-1 do
  if v[x]=v[k] then ok:=false;
  for x:=1 to k-1 do
  begin
   if(v[x]=v[x+1]+1)or(v[x]=v[x+1]-1) then ok:=False
    else
     if x>1 then if (v[x]=v[x-1]+1) or (v[x]=v[x-1]-1) then ok:=false;
   if (kor[v[x]]>kor[v[x]+1]+kor[v[x]]*1/5) or (kor[v[x]]>kor[v[x]-1]+kor[v[x]]*1/5) then ok:=false;
  end;
 jo:=ok;
end;

procedure back(i:Byte);
var j:Byte;
 begin
  for j:=1 to n do
   begin
    v[i]:=j;
    if jo(i) then
     if i>=dbsz then kiir(i)
     else back(i+1);
   end;
 end;
begin
WriteLN('Kerem az emberek szamat:');
ReadLn(n);
WriteLn('Kerem a szekek szamat:');
ReadLn(dbsz);
{for sz:=1 to n do
 begin
  Write('Kerem az ',sz,'. ember nevet:');
  ReadLn(nev[sz]);
  Write('Kerem az ',sz,'. ember korat:');

  ReadLn(kor[sz]);
 end;
 }
db:=0;
back(1);
If db=0 then WriteLn('Nincs megoldas') else WriteLn('Megoldasok szama:',db);
ReadLn;
end.