結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
![]() |
提出日時 | 2019-11-25 21:46:25 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 34 ms / 2,000 ms |
コード長 | 1,243 bytes |
コンパイル時間 | 243 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-10-14 15:34:43 |
合計ジャッジ時間 | 2,069 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
m = int(input()) n = m * m a = [[0] * m for i in range(m)] cur = 1 yoko = m tate = m x = 0 y = 0 while True: # 左から右 for i in range(yoko): a[y][x] = cur x += 1 cur += 1 tate -= 1 x -= 1 y += 1 if cur == n+1: break # 上から下 for i in range(tate): a[y][x] = cur y += 1 cur += 1 yoko -= 1 y -= 1 x -= 1 if cur == n+1: break # 右から左 for i in range(yoko): a[y][x] = cur x -= 1 cur += 1 tate -= 1 x += 1 y -= 1 if cur == n+1: break # 下から上 for i in range(tate): a[y][x] = cur y -= 1 cur += 1 yoko -= 1 y += 1 x += 1 if cur == n+1: break res = [] for i in range(m): for j in range(m): str_number = str(a[i][j]) if len(str_number) == 1: res.append('00' + str_number) elif len(str_number) == 2: res.append('0' + str_number) else: res.append(str_number) for i in range(n): if i != 0 and i % m == 0: print() if i % m == m-1: print(res[i], end='') else: print(res[i] + ' ', end='')