Jae-Kyung Cho LLM Developers who was a Robotics engineer

Baekjoon-15685-드래곤 커브

회전 변환!!!

N = int(input())
board = [[0] * 101 for _ in range(101)]

def add_generation(arr):
    cx,cy = arr[-1]
    new_arr = []
    for x,y in reversed(arr[:-1]):
        new_arr.append([cx+cy-y,x-cx+cy])
        board[cx+cy-y][x-cx+cy] = 1
    return arr + new_arr

for _ in range(N):
    x,y,d,g = map(int, input().split())
    dx,dy = [[1,0],[0,-1],[-1,0],[0,1]][d]
    arr = [[x,y],[x+dx,y+dy]]
    board[x][y] = board[x+dx][y+dy] = 1
    for _ in range(g):
        arr = add_generation(arr)

# count square
count = 0
for i in range(100):
    for j in range(100):
        if board[i][j] == 1 and board[i][j+1]==1 and board[i+1][j]==1 and board[i+1][j+1]==1:
            count += 1

print(count)
Comments