結果
問題 |
No.217 魔方陣を作ろう
|
ユーザー |
![]() |
提出日時 | 2015-05-27 00:25:25 |
言語 | Go (1.23.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 769 bytes |
コンパイル時間 | 11,108 ms |
コンパイル使用メモリ | 229,336 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-10 18:46:24 |
合計ジャッジ時間 | 12,100 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 9 WA * 9 |
ソースコード
package main import ( "fmt" ) func main() { var N int fmt.Scan(&N) z := make([][]int, N) for i := 0; i < N; i++ { z[i] = make([]int, N) } if N%2 == 1 { row := 0 col := N / 2 for i := 0; i < N*N; i++ { z[row][col] = i + 1 nrow := (row + N - 1) % N ncol := (col + 1) % N if z[nrow][ncol] != 0 { nrow = (row + 1) % N ncol = col } row = nrow col = ncol } } else { var row, col int row = N - 1 col = N / 2 z[row][col] = 1 for i := 2; i <= N*N; i++ { if z[(row+1)%N][(col+1)%N] == 0 { row = (row + 1) % N col = (col + 1) % N } else { row = (row - 1 + N) % N } z[row][col] = i } } for i := 0; i < N; i++ { for j := 0; j < N; j++ { fmt.Print(z[i][j], " ") } fmt.Println("") } }