結果
問題 |
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))