Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //fpc 3.0.0
- program HelloWorld;
- type
- Stan = record
- czlowiek : boolean;
- wilk: boolean;
- koza: boolean;
- salata : boolean
- end;
- var
- problem,poprzednia,i : integer;
- randomowa : integer;
- stany : Array[0..15] of Stan;
- function liczbaPorownan(a,b : Stan) : integer;
- var
- counter : integer;
- begin
- counter := 0;
- if (a.koza <> b.koza) then counter:=counter+1;
- if (a.wilk <> b.wilk) then counter:=counter+1;
- if (a.salata <> b.salata) then counter:=counter+1;
- liczbaPorownan:=counter;
- end;
- begin
- Randomize;
- {UZUPELANIANIE TABELI STANOW}
- for i:=0 to 15 do
- begin
- if(i<8) then
- begin
- stany[i].czlowiek:=false;
- end else
- begin
- stany[i].czlowiek:=true;
- end;
- end;
- for i:=0 to 15 do
- begin
- if (i<4) or ((i>7) and (i<12)) then
- begin
- stany[i].wilk:=false;
- end else
- begin
- stany[i].wilk:=true;
- end;
- end;
- for i:=0 to 15 do
- begin
- stany[i].koza:=true;
- end;
- for i:=0 to 15 do
- begin
- if(i mod 3 = 0) then
- begin
- stany[i].koza := false;
- stany[i+1].koza := false;
- end;
- end;
- for i:=0 to 15 do
- begin
- stany[i].salata:=true;
- end;
- for i:=0 to 15 do
- begin
- if(i mod 2 = 0) then
- begin
- stany[i].salata := false;
- end;
- end;
- {WYSZUKIWANIE SCIEZKI}
- writeln('CWKS');
- problem:=0;
- poprzednia:=0;
- write(stany[problem].czlowiek);
- write(' ');
- write(stany[problem].wilk);
- write(' ');
- write(stany[problem].koza);
- write(' ');
- writeln(stany[problem].salata);
- while (problem <> 15) do
- begin
- randomowa:=1+random(15);
- if (((stany[problem].czlowiek) <> (stany[randomowa].czlowiek)) and (liczbaPorownan(stany[problem], stany[randomowa]) <= 1) and (randomowa<>3) and (randomowa <>6) and (randomowa <>7) and (randomowa <>8) and (randomowa <>9) and (randomowa <> 12) and (randomowa <> poprzednia)) then
- begin
- poprzednia:= problem;
- problem:=randomowa;
- write(stany[problem].czlowiek);
- write(' ');
- write(stany[problem].wilk);
- write(' ');
- write(stany[problem].koza);
- write(' ');
- writeln(stany[problem].salata);
- end;
- end;
- writeln();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement