結果

問題 No.401 数字の渦巻き
ユーザー ID 21712
提出日時 2025-01-14 01:16:34
言語 Go
(1.23.4)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 489 bytes
コンパイル時間 12,628 ms
コンパイル使用メモリ 250,956 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2025-01-14 01:16:54
合計ジャッジ時間 14,360 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

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:])
	}
}
0