結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
|
提出日時 | 2019-06-24 22:25:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 32 ms / 2,000 ms |
コード長 | 780 bytes |
コンパイル時間 | 358 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-06-22 05:37:38 |
合計ジャッジ時間 | 2,362 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
from itertools import cycle n = int(input()) m = list(range(1, n)[::-1]) l = [i for i in m for _ in [0] * 2] p = [n-1] + l m = [(i, j, k) for i, j, k in zip(cycle([0, 1, 0, -1]), cycle([1, 0, -1, 0]), p)] q = [[str(1).zfill(3)] * n for _ in [0]*n] cnt = 1 tmpi = 0 tmpj = 0 for i, j, k in m: for _ in [0]*(k): cnt += 1 tmpi += i tmpj += j q[tmpi][tmpj] = str(cnt).zfill(3) [print(*i) for i in q] # 1, 1, 1 -> 3 # 001 002 # 004 003 # 2, 2, 2, 1, 1 -> 5 # 001 002 003 # 008 009 004 # 007 006 005 # 3, 3, 3, 2, 2, 1, 1 -> 7 # 001 002 003 004 # 012 013 014 005 # 011 016 015 006 # 010 009 008 007 # 4, 4, 4, 3, 3, 2, 2, 1, 1, -> 9 # 001 002 003 004 005 # 016 017 018 019 006 # 015 024 025 020 007 # 014 023 022 021 008 # 013 012 011 010 009