(* Written by: Nicklaus Wirth (1976) * Typed in by Jorge Garcia (3 Feb 1993) *) program knightstour(output); const n=5; nsq=25; type index = 1..n; var i,j: index; q: boolean; s: set of index; a,b: array [1..8] of integer; h: array [index, index] of integer; procedure try(i: integer; x,y: index; var q: boolean); var k,u,v: integer; q1: boolean; begin k := 0; repeat k := k+1; q1 := false; u := x+a[k]; v := y+b[k]; if (u in s) and (v in s) then if h[u,v] = 0 then begin h[u,v] := i; if i