結果
| 問題 |
No.401 数字の渦巻き
|
| コンテスト | |
| ユーザー |
AreTrash
|
| 提出日時 | 2023-03-24 05:49:06 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 726 bytes |
| コンパイル時間 | 176 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 10,752 KB |
| 最終ジャッジ日時 | 2024-09-18 15:52:35 |
| 合計ジャッジ時間 | 2,144 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 30 |
ソースコード
n = int(input()) # マス目のサイズ
# マス目を初期化する
grid = [[0 for _ in range(n)] for _ in range(n)]
# 始点を設定する
x, y = 0, 0
# 方向を設定する
directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
dx, dy = directions[0]
# 数字を入力する
for i in range(n**2):
grid[x][y] = i + 1
# 次の座標を求める
nx, ny = x + dx, y + dy
# 次の座標が範囲外かすでに通った場所ならば、直角に曲がる
if not (0 <= nx < n and 0 <= ny < n) or grid[nx][ny] != 0:
dx, dy = directions[(directions.index((dx, dy)) + 1) % 4]
nx, ny = x + dx, y + dy
x, y = nx, ny
# マス目を出力する
for row in grid:
print(*row)
AreTrash