Вы не поверите, как много вариантов "змейки" существует.
Код
program snake;
var i,j,n,m:integer;
    a:array[1..8,1..8] of integer;
begin
  readln(n);
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      if i mod 2 =1 then
        a[i,j]:=(i-1)*n+j
        else a[i,j]:=i*n-j+1;
    write(a[i,j]:4);
    end;
    writeln;
  end;
  readln;
end.

Первый попавшийся в гугле, чуть отформатированный.