-
[Python] 백준 1002 터렛알고리즘/BOJ 2020. 3. 2. 12:48반응형
https://www.acmicpc.net/problem/1002
이 문제도 백준 문제 경험이 적을 때 풀었던 것이라 그런지 지금 봤을 때 고쳐야할 부분이 많이 보인다.
1. Code
if __name__ == '__main__': t = int(input()) case = [map(int, input().split()) for _ in range(t)] for x1, y1, r1, x2, y2, r2 in case: d = ((x2-x1)**2 + (y2-y1)**2)**0.5 if r1 > r2: longer = r1 smaller = r2 else: longer = r2 smaller = r1 if longer < d: sum_r = longer + smaller if sum_r > d: point = 2 elif sum_r == d: point = 1 elif sum_r < d: point = 0 else: if longer - smaller < d: point = 2 elif longer - smaller == d: if d == 0: point = -1 else: point = 1 elif longer - smaller > d: point = 0 print(point)
알고리즘 문제 풀 때는 메인 블럭을 만들 필요가 없다. 오히려 전역 변수를 사용하는데 방해가 된다.
반응형'알고리즘 > BOJ' 카테고리의 다른 글
[Python] 백준 1003 피보나치 함수 (0) 2020.03.02 [Python] 백준 1001 A-B (0) 2020.03.02 [Python] 백준 1000 A+B (0) 2020.03.02