結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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 |
ソースコード
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))