結果
問題 |
No.401 数字の渦巻き
|
ユーザー |
|
提出日時 | 2017-08-14 22:16:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 1,058 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-10-13 10:02:53 |
合計ジャッジ時間 | 2,134 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
# -*- coding: utf-8 -*- N = int(input()) chars = [] for i in range(N): temp = [''] * N chars.append(temp) direction = 0 row = col = 0 for i in range(1, pow(N,2)+1): chars[row][col] = i # 右向き if direction%4==0: if col == N-1 or chars[row][col+1] != '': direction += 1 row += 1 else: col += 1 # 下向き elif direction%4==1: if row == N-1 or chars[row+1][col] != '': direction += 1 col -= 1 else: row += 1 # 左向き elif direction%4==2: if col == 0 or chars[row][col-1] != '': direction += 1 row -= 1 else: col -= 1 # 上向き else: if row == 0 or chars[row-1][col] != '': direction += 1 col += 1 else: row -= 1 for i in range(N): for j in range(N): if j < N-1: print('{0:03d} '.format(chars[i][j]), end='') else: print('{0:03d}'.format(chars[i][j]))