-
[백준] 1002번_터렛Study/알고리즘 2020. 2. 10. 15:19
문제 링크 : https://www.acmicpc.net/problem/1002
1002번: 터렛
각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.
www.acmicpc.net
for _ in range(int(input())): x1,y1,r1,x2,y2,r2 = map(int,input().split()) # 원 같음 if x1==x2 and y1==y2 and r1==r2: print(-1) continue px = abs(x1-x2); py = abs(y1-y2) dist = (px**2+py**2)**0.5 sum_r = r1+r2 ; sub_r = abs(r1-r2) # 외접/내접 if dist==sum_r or dist==sub_r: print(1) # 두 점에서 만날 때 elif sub_r < dist < sum_r: print(2) # 안 만나 else: print(0)
처음에 두 점에서 만날 때의 조건을 dist<sum_r이라고만 주었더니 틀렸다.
한 원 안에 다른 원이 포함될 경우(원래는 0 출력해야 함)도 이 조건을 만족하기 때문이다.
따라서 sub<dist도 추가해줘야 한다.
'Study > 알고리즘' 카테고리의 다른 글
[백준] 9020번_골드바흐의추측 (0) 2020.02.11 [백준] 10872번_팩토리얼 (0) 2020.02.10 [백준] 3053번_택시기하학 (0) 2020.02.10 [백준] 4153번_직각삼각형 (0) 2020.02.10 [백준] 3009번_네번째점 (0) 2020.02.10