program Project2; {$APPTYPE CONSOLE} var a:array[1..100,1..100] of integer; smin,i,j,k,l,n,s:integer; rez,c:array [1..100]of integer; f1,f2:text; function f(nn,vv:integer):boolean; var pr:boolean; i:integer; begin pr:=true; for i:=1 to nn do if vv=c[i] then pr:=false; f:=pr; end; procedure p(ni,v:integer); var s,ii:integer; begin c[ni]:=v; if(ni=n)then begin {***** 1} s:=0; for ii:=1 to ni-1 do s:=s+a[c[ii],c[ii+1]]; s:=s+a[c[n],c[1]]; if s0)and (f(ni,ii)) then p(ni+1,ii); end; begin assign(f1,'graph.dat');reset(f1);assign(f2,'graph.sol');rewrite(f2); write('N='); readln(n); for i:=1 to n do for j:=i+1 to n do begin a[i,j]:=random(50)+1;a[j,i]:=a[i,j]; end; smin:=maxint; p(1,1); close(f1); writeln(f2,n); for i:=1 to n do begin for j:=1 to n-1 do write(f2,a[i,j]:3); writeln(f2,a[i,n]:3); end; writeln(f2,'-------------------'); for i:=1 to n-1 do write(f2,rez[i],' ' ); writeln(f2,rez[n] ); writeln(f2,smin); close(f2); end.