package main import . "fmt" func main() { var n int Scan(&n) f := make([][]int, n+2) for i:=range f { f[i] = make([]int, n+2) if i==0 || i==n+1 { for j:=range f[i] { f[i][j]=-1 } } f[i][0]=-1 f[i][n+1]=-1 } r, c := 1, 1 dr, dc := 0, 1 for i:=1; i<=n*n; i++{ f[r][c] = i if f[r+dr][c+dc] != 0 { dr, dc = dc, -dr } r += dr c += dc } for r=1; r<=n; r++ { s := "" for c=1; c<=n; c++ { s += Sprintf(" %03d", f[r][c]) } Println(s[1:]) } }