結果
問題 | No.401 数字の渦巻き |
ユーザー |
|
提出日時 | 2022-01-20 23:40:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 39 ms / 2,000 ms |
コード長 | 1,206 bytes |
コンパイル時間 | 203 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 61,188 KB |
最終ジャッジ日時 | 2024-11-24 09:47:05 |
合計ジャッジ時間 | 2,149 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
N = int(input()) lsHW = [[-1 for i in range(N)] for i in range(N)] lsHW[0][0] = '001' d = 0 num = 1 x,y = 0,0 for i in range(N*N-1): if d == 0: if y+1 < N and lsHW[x][y+1] == -1: lsHW[x][y+1] = (3-len(str(num+1)))*'0'+str(num+1) y += 1 else: lsHW[x+1][y] = (3-len(str(num+1)))*'0'+str(num+1) x += 1 d += 1 elif d == 1: if x+1 < N and lsHW[x+1][y] == -1: lsHW[x+1][y] = (3-len(str(num+1)))*'0'+str(num+1) x += 1 else: lsHW[x][y-1] = (3-len(str(num+1)))*'0'+str(num+1) y -= 1 d += 1 elif d == 2: if y-1 >= 0 and lsHW[x][y-1] == -1: lsHW[x][y-1] = (3-len(str(num+1)))*'0'+str(num+1) y -= 1 else: lsHW[x-1][y] = (3-len(str(num+1)))*'0'+str(num+1) x -= 1 d += 1 else: if x-1 >= 0 and lsHW[x-1][y] == -1: lsHW[x-1][y] = (3-len(str(num+1)))*'0'+str(num+1) x -= 1 else: lsHW[x][y+1] = (3-len(str(num+1)))*'0'+str(num+1) y += 1 d = 0 num += 1 for i in range(N): print(*lsHW[i],sep=' ')