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