728x90
반응형

풀이 방법은 원의 교점의 개수를 세는 것이다.  

석원과 규현이 같은 위치에 있고 반지름이 같다면 같은 원이므로 교점의 개수는 무한.  

반지름의 합 또는 차가 석원과 규현의 거리와 같다면 두 원의 접하는 것이므로 교점은 1개.  

반지름의 합이 석원과 규현의 거리보다 작거나, 반지름의 차가 석원과 규현의 거리보다 크다면  

두 원의 접하지 않으므로 교점은 0개.  

그 이외의 경우는 원이 두 점에서 만난다.  

 

for _ in range(int(input())):   
    li = list(map(int, input().split()))   
    p1 = li[:2]   
    r1 = float(li[2])   
    p2 = li[3:5]   
    r2 = float(li[5])   
    r = ((p2[0]-p1[0])**2 + (p2[1]-p1[1])**2) ** 0.5   
    if p1 == p2 and r1 == r2:   
        print(-1)   
    elif r1+r2 == r or abs(r1-r2) == r:   
        print(1)    
    elif r1+r2 < r or abs(r1-r2) > r:   
        print(0)   
    else:   
        print(2)  

728x90
반응형

+ Recent posts