結果
| 問題 | 
                            No.283 スライドパズルと魔方陣
                             | 
                    
| コンテスト | |
| ユーザー | 
                             gew1fw
                         | 
                    
| 提出日時 | 2025-06-12 17:00:40 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,357 bytes | 
| コンパイル時間 | 383 ms | 
| コンパイル使用メモリ | 82,780 KB | 
| 実行使用メモリ | 62,364 KB | 
| 最終ジャッジ日時 | 2025-06-12 17:00:48 | 
| 合計ジャッジ時間 | 5,043 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 11 WA * 28 | 
ソースコード
def generate_magic_square(n):
    if n % 2 == 1:
        magic = [[0 for _ in range(n)] for _ in range(n)]
        i, j = 0, n // 2
        for num in range(1, n * n + 1):
            magic[i][j] = num
            i -= 1
            j += 1
            if i < 0 and j >= n:
                i += 2
                j -= 1
            elif i < 0:
                i = n - 1
            elif j >= n:
                j = 0
            elif magic[i][j] != 0:
                i += 2
                j -= 1
        return magic
    else:
        if n == 4:
            return [
                [16, 3, 2, 13],
                [5, 10, 11, 8],
                [9, 6, 7, 12],
                [4, 15, 14, 1]
            ]
        else:
            magic = [[0 for _ in range(n)] for _ in range(n)]
            for i in range(n):
                for j in range(n):
                    if (i + j) % 2 == 0:
                        magic[i][j] = i * n + j + 1
                    else:
                        magic[i][j] = (i - 1) * n + n - j
            return magic
n = int(input())
if n == 1:
    a = list(map(int, input().split()))
    print("possible")
    print(1)
elif n == 2:
    for _ in range(n):
        input()
    print("impossible")
else:
    magic = generate_magic_square(n)
    print("possible")
    for row in magic:
        print(' '.join(map(str, row)))
            
            
            
        
            
gew1fw