結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-08-29 16:07:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 50 ms / 2,000 ms |
| コード長 | 528 bytes |
| コンパイル時間 | 411 ms |
| コンパイル使用メモリ | 81,792 KB |
| 実行使用メモリ | 58,496 KB |
| 最終ジャッジ日時 | 2024-11-22 06:19:37 |
| 合計ジャッジ時間 | 3,450 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
n = int(input())
grid = [[0] * (n + 2) for _ in range(n + 2)]
for i in range(n + 2):
grid[0][i] = 1
grid[n + 1][i] = 1
grid[i][0] = 1
grid[i][n + 1] = 1
x = 0
y = 1
dx = 1
dy = 0
nex = {(0, 1):(1, 0), (1, 0):(0, -1), (0, -1):(-1, 0), (-1, 0):(0, 1)}
for m in range(1, n * n + 1):
x += dx
y += dy
if grid[y][x] != 0:
x -= dx
y -= dy
dy, dx = nex[(dy, dx)]
x += dx
y += dy
grid[y][x] = str(m).zfill(3)
for row in grid[1:-1]:
print(*row[1:-1])