program dis;
uses crt;


procedure parkoviste(var celkem1:real;ridic:integer;var nepark:longint;pocet:integer);
var kontrola,ii,i:integer;
    parkoviste:array[1..100] of integer;
    zaloha:real;
begin
  for i:=1 to pocet do
   parkoviste[i]:=random(2);
   kontrola:=0;
   zaloha:=celkem1;
   for i:=ridic to pocet do
   begin
      if (parkoviste[i]=0) AND (kontrola=0) then
        begin
          kontrola:=1;
          celkem1:=celkem1+(pocet+1-i);
        end;
   end;
     if zaloha=celkem1 then
     begin
      celkem1:=celkem1+pocet+1;
      nepark:=nepark+1;
     end;
end;



var    celkem:real;
       i:longint;
       ii:integer;
       nezaparkovalo:longint;
       kolikrat:longint;
       pocetmist:integer;
       f:text;
       nejmensipocet:integer;
       nejmensicislo:real;

begin
  clrscr;
  randomize;
  nezaparkovalo:=0;

  Assign(F, 'zapis.txt');
  Rewrite(F);

write('Zadej kolik pokusu se uskutecni \>');
readln(kolikrat);
write('Zadej pocet parkovacich mist \>');
readln(pocetmist);

nejmensicislo:=pocetmist+1;

for ii:=1 to pocetmist do
 begin
  for i:=1 to kolikrat do
  begin
     parkoviste(celkem,ii+1,nezaparkovalo,pocetmist);
  end;
    writeln ('Pocet parkovacich mist, ktere ma ridic ignorovat  \>',ii);
    writeln ('Prumerna numericka uspesnost zaparkovani je - ',(celkem/kolikrat):2:3);
    writeln ('Ridicu nezaparkovalo                        - ',nezaparkovalo);
    if ((celkem/kolikrat)<nejmensicislo) then
    begin
     nejmensicislo:=(celkem/kolikrat);
     nejmensipocet:=ii;
    end;
    {zapis do souboru}

      if (ii=1) then
        begin
         writeln(F,'Celkovy pocet parkovacich mist je - ',pocetmist);
         writeln(F,'Pocet pokusu na jednu strategii je - ',kolikrat);
        end;
      writeln(F,'');
      writeln(F,'Pocet ignorovanych mist - ',ii);
      writeln(F,'Numericka uspesnost je - ',(celkem/kolikrat):2:3);
      writeln(F,'Ridicu nezaparkovalo - ',nezaparkovalo);
      writeln(F,'');
      celkem:=0;
      nezaparkovalo:=0;
 end;
      writeln('V tomhle pripade bude nejlepsi ignorovat ',nejmensipocet,' mist.');
      writeln('Numericka uspesnot tak bude ',nejmensicislo:2:3);

      writeln(F,'');
      writeln(F,'V tomhle pripade bude nejlepsi ignorovat ',nejmensipocet,' mist.');
      writeln(F,'Numericka uspesnot tak bude ',nejmensicislo:2:3);

     Close(F);
     readln;

end.

