-
[백준] 1002번 문제 (터렛) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 5. 25. 16:46
# 터렛 n = int(input()) for _ in range(n): x1, y1, r1, x2, y2, r2 = map(int, input().split()) r = ((x2-x1)**2+(y2-y1)**2)**0.5 R = [r1, r2, r] maxR = max(R) R.remove(maxR) if r == 0 and r1 == r2: print(-1) elif r == r1+r2 or maxR == sum(R): print(1) elif maxR > sum(R): print(0) else: print(2)
일단 끝내 풀지 못했다..
정답에 거의 근접했던 것 같으나 조건을 몇 개 빼먹어서 맞추지 못하고 다른 사람이 작성한 코드중에 제일 기가 막히게 작성한 코드라고 생각된 코드를 들고왔다.
출처 : https://leedakyeong.tistory.com/entry/백준-1002번-터렛-in-python-파이썬-코드-및-설명
r = 두 원의 중점 사이의 거리다.
우선 경우의 수가 4가지가 있다.
결과 기준으로
-1 : 두 원이 일치하는 경우
1 : 두 원이 한 점에서 만나는 경우
0 : 두 원이 만나지 않는 경우
2 : 그 외 경우
수학 공부가 절실하다..
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1003번 문제 (피보나치 함수) 파이썬(Python) 풀이 (0) 2021.07.06 [백준] 10828번 문제 (스택) 파이썬(Python) 풀이 (0) 2021.06.08 [백준] 9020번 문제 (골드바흐의 추측) 파이썬(Python) 풀이 (0) 2021.05.24 [백준] 4948번 문제 (베르트랑 공준) 파이썬(Python) 풀이 (0) 2021.05.24 [백준] 1929번 문제 (에라토스테네스의 체, 소수 구하기) 파이썬(Python) 풀이 (0) 2021.05.24