Program details; uses crt; var min,i,j,k,n,max,y_v,y_g: longint; t,a:array [1..100,1..100] of integer; time :array [1..100] of integer; f:text; procedure pr1; begin a[y_v,y_g]:=1; y_g:=y_g+1; y_v:=1; end; procedure pr2; begin for i:=1 to n do a[i,y_g]:=0; y_g:=y_g-1; for i:=1 to n do if a[i,y_g]=1 then y_v:=i; a[y_v,y_g]:=0; y_v:=y_v+1; end; procedure pr3; begin y_g:=y_g-1; for i:=1 to n do if a[i,y_g]=1 then y_v:=i; end; procedure pr4; begin k:=k+1; for i:=1 to n do for j:=1 to n do if a[i,j]=1 then time[i]:=t[i,j]; max:= time[1]; for i:=2 to n do if time[i]>max then max:=time[i]; if min>max then begin min:=max; {assign(f,'details.sol'); rewrite(f); writeln(f,min); } writeln(min); for i:=1 to n do for j:=1 to n do if a[i,j]=1 then {write(f,i:5); close(f); } write(i:5); end; end; function pr:boolean; begin pr:=true; for i:=1 to n do if (a[y_v,i]=1) then pr:=false; end; begin readln(n); {assign(f,'details.dat'); reset(f); readln(f,n);} for i:=1 to n do for j:=1 to n do {read(f,a[i,j]); close (f);} read(a[i,j]); {clrscr; } k:=0; min:=maxint; for i:=1 to n do for j:=1 to n do a[i,j]:=0; y_v:=1 ; y_g:=1 ; pr1; while y_g<>0 do begin while (not(pr)) and (y_v