less than 1 minute read

SWEA 1954 달팽이 숫자

문제링크

파이썬

t = int(input())
dy = [1,0,-1,0]
dx = [0,1,0,-1]
for i in range(1,t+1):
    n = int(input())
    s = [[0]*n for _ in range(n)]
    x,y = 0,0
    cnt = 0
    
    for j in range(1, n*n+1):
        s[x][y] = j
        x += dx[cnt]
        y += dy[cnt]
        
        if x < 0 or y < 0 or x >=n or  y>=n or s[x][y] != 0:
            x -= dx[cnt]
            y -= dy[cnt]
            cnt = (cnt+1) %4
            x += dx[cnt]
            y += dy[cnt]
    print("#"+str(i))
    for k in s:
        print(*k)
    
            
                    

카테고리:

업데이트:

댓글남기기