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]]; for ii:=1 to ni do write(c[ii],' '); writeln(s); readln; 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); readln(f1,n); for i:=1 to n do for j:=1 to n do read(f1,a[i,j]); smin:=maxint; p(1,1); close(f1); for i:=1 to n-1 do write(f2,rez[i],' ' ); writeln(f2,rez[n] ); writeln(f2,smin); close(f2); end.