문제📖
풀이🙏
- 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
- 한줄에 x1,y1,r1,x2,y2,r2가 주어진다.
- 이석원이 조규현과 백승환에게 류재명의 거리를 계산하라고 명령을 시킨 장본인이다.
- 조규현(x1,y1)와 백승환(x2,y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1,과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 위치의 수를 출력하라.
- 만약 있을 수 있는 개수가 무한대일 경우에는 -1을 출력하라.
코드💻
from math import sqrt
import sys
def turret(x1, y1, r1, x2, y2, r2):
distance = sqrt((x1-x2) ** 2 + (y1-y2) ** 2)
if distance == 0 and r1 == r2:
return -1
elif abs(r1 - r2) == distance or r1 + r2 == distance:
return 1
elif abs(r1 - r2) < distance < r1 + r2:
return 2
return 0
if __name__ == '__main__':
T = int(sys.stdin.readline())
for _ in range(T):
x1, y1, r1, x2, y2, r2 = map(int, sys.stdin.readline().split())
print(turret(x1, y1, r1, x2, y2, r2))
결과😎
출처 && 깃허브📝
https://www.acmicpc.net/problem/1002
github