program Kontrolor; const MAX_N=1000; var K,N:integer; vstup,akt:integer; zasobnik:array[1..MAX_N] of integer; begin writeln('zadej počet barev: '); readln(K); writeln('zadej počet šanonů: '); readln(N); akt:=1; zasobnik[1]:=0; { pomocná hodnota nám zajistí, že zásobník nikdy nebude prázdný} if (N mod 2=1) then N:=-1; { ošetření lichého počtu šanonů} while(N>0)do begin writeln('zadej barvu šanonu: '); readln(vstup); if (vstup>0) then begin { přidává nový šanon do zásobníku} akt:=akt+1; zasobnik[akt]:=vstup; end else begin { uzavírá sanon} if (zasobnik[akt]=-vstup) then akt:=akt-1 else N:=-1; { kontroluje, zda uzavírá správný šanon, pokud ne, tak ukončí cyklus a odpoví ne} end; N:=N-1; end; if (N<>0) then writeln('ne') else writeln('ano'); { jinak je vstup bez chyby} end.