結果

問題 No.401 数字の渦巻き
ユーザー ABKZ
提出日時 2023-07-05 23:47:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 41 ms / 2,000 ms
コード長 880 bytes
コンパイル時間 301 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 52,736 KB
最終ジャッジ日時 2024-07-19 18:15:08
合計ジャッジ時間 2,355 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

N = int(input())
a = [[0 for _ in range(N)] for _ in range(N) ]
b = [[x1, x2] for x1, x2 in zip(range(N), reversed(range(N)))]
yyy = sum(b, [])[:N]
xxx = sum(reversed(b), [])[:N]
xy = []
for i in range(N):
xy.append([xxx[i], yyy[i]])
if i == N-1:
break
xy.append([xxx[i], yyy[i+1]])
x = 0
y = 0
v = 1
for x_, y_ in xy:
if x == x_:
yy = list(range(y, y_+1)) if y <= y_ else reversed(list(range(y_, y+1)))
for y__ in yy:
if a[y__][x] == 0:
a[y__][x] = v
y = y__
v = v+1
elif y == y_:
xx = list(range(x, x_+1)) if x <= x_ else reversed(list(range(x_, x+1)))
for x__ in xx:
if a[y][x__] == 0:
a[y][x__] = v
x = x__
v = v+1
for r in a:
z = [str(n).zfill(3) for n in r]
print(' '.join(z))
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0