結果
| 問題 |
No.217 魔方陣を作ろう
|
| コンテスト | |
| ユーザー |
fmhr
|
| 提出日時 | 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("")
}
}
fmhr