結果

問題 No.401 数字の渦巻き
ユーザー kawacchu
提出日時 2019-10-10 00:40:57
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 29 ms / 2,000 ms
コード長 685 bytes
コンパイル時間 116 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-11-18 10:35:21
合計ジャッジ時間 1,692 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque

N = int(input())
L = [[""]*N for i in range(N)]

c = 0
d = 0
y = x = 0
visited = [[False]*N for i in range(N)]

for i in range(1, N**2+1) :
    L[y][x] = str(i).zfill(3)
    visited[y][x] = True
    if d == 0 :
        if x+1>=N or visited[y][x+1] :
            d += 1
    if d == 1 :
        if y+1>=N or visited[y+1][x] :
            d += 1
    if d == 2 :
        if x-1<0 or visited[y][x-1] :
            d += 1
    if d == 3 :
        if y-1<0 or visited[y-1][x] :
            d = 0
    
    if d == 0 :
        x += 1
    elif d == 1 :
        y += 1
    elif d == 2 :
        x -= 1
    else :
        y -= 1

for i in range(N) :
    print(*L[i])
0