코딩

[BOJ] 백준 1709 타일 위의 원 python

척척석사아님 2024. 6. 2. 23:57
728x90

N = int(input())
R = N // 2 #반지름이 되겠다
def f(n):
    x,y = 0,n-1
    cnt = 0
    dx,dy = [1,0,1], [0,-1,-1]
    while x != y:
        for i in range (0,3):
            xx,yy = x + dx[i], y + dy[i]
            if xx ** 2 + yy ** 2 < n ** 2 and (xx + 1) ** 2 + (yy + 1) ** 2 > n ** 2:
                cnt += 1
                x,y = xx, yy
                break
    return 8 * cnt + 4
print(f(R))

 

반지름을 어떻게 활용할지에 대한 중요한 문제가 될 것 같다.