結果

問題 No.401 数字の渦巻き
ユーザー TawaraTawara
提出日時 2016-07-21 00:42:15
言語 Python2
(2.7.18)
結果
AC  
実行時間 14 ms / 2,000 ms
コード長 456 Byte
コンパイル時間 27 ms
使用メモリ 4,488 KB
最終ジャッジ日時 2020-05-29 20:28:39

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
testcase_00 AC 13 ms
4,444 KB
testcase_01 AC 12 ms
4,448 KB
testcase_02 AC 12 ms
4,444 KB
testcase_03 AC 12 ms
4,448 KB
testcase_04 AC 12 ms
4,444 KB
testcase_05 AC 12 ms
4,448 KB
testcase_06 AC 12 ms
4,444 KB
testcase_07 AC 12 ms
4,444 KB
testcase_08 AC 13 ms
4,448 KB
testcase_09 AC 12 ms
4,444 KB
testcase_10 AC 13 ms
4,448 KB
testcase_11 AC 12 ms
4,448 KB
testcase_12 AC 13 ms
4,448 KB
testcase_13 AC 13 ms
4,452 KB
testcase_14 AC 14 ms
4,452 KB
testcase_15 AC 12 ms
4,452 KB
testcase_16 AC 13 ms
4,452 KB
testcase_17 AC 13 ms
4,456 KB
testcase_18 AC 12 ms
4,460 KB
testcase_19 AC 13 ms
4,464 KB
testcase_20 AC 12 ms
4,460 KB
testcase_21 AC 13 ms
4,468 KB
testcase_22 AC 13 ms
4,464 KB
testcase_23 AC 13 ms
4,472 KB
testcase_24 AC 13 ms
4,468 KB
testcase_25 AC 13 ms
4,472 KB
testcase_26 AC 14 ms
4,472 KB
testcase_27 AC 14 ms
4,480 KB
testcase_28 AC 13 ms
4,480 KB
testcase_29 AC 13 ms
4,488 KB
権限があれば一括ダウンロードができます

ソースコード

diff #
dxy = [(1,0),(0,1),(-1,0),(0,-1)]
N = int(raw_input())
assert 1 <= N <= 30
whirlnumber = [[True]*(N+2) for i in xrange(N+2)]
for i in xrange(N*N):
	whirlnumber[i/N+1][i%N+1] = False
x = y = 1
di = 0
for i in xrange(N**2):
	whirlnumber[y][x] = "%03d" % (i+1)
	nx = x+dxy[di][0]
	ny = y+dxy[di][1]
	if whirlnumber[ny][nx]:
		di = (di + 1) % 4
		nx = x+dxy[di][0]
		ny = y+dxy[di][1]
	x,y = nx,ny
for i in xrange(1,N+1):
	print " ".join(whirlnumber[i][1:N+1])
0