만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세 점을 지나는 원

시간 제한1초메모리 제한128 MB

요약
각 줄에 주어진 세 점을 지나는 원을 구해 중심과 반지름의 식, 일반형 식을 부호를 맞춰 출력한다.
난이도

쉬움10점 중 3점

유형
기하, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

평면 위에 있는 세 점의 좌표가 주어질 때, 이 세 점을 모두 지나는 원의 방정식을 구하는 프로그램을 작성하시오. 세 점은 한 직선 위에 있지 않음이 보장된다.

원의 방정식은 두 가지 형태로 출력한다. 하나는 중심과 반지름으로 나타내는 표준형

(x−h)2+(y−k)2=r2(x - h)^2 + (y - k)^2 = r^2

이고, 다른 하나는 일반형

x2+y2+cx+dy−e=0x^2 + y^2 + cx + dy - e = 0

이다.

입력

입력의 각 줄에는 세 점 AA, BB, CC의 xx, yy 좌표가 AxA_x, AyA_y, BxB_x, ByB_y, CxC_x, CyC_y 순서로 주어진다. 각 좌표는 실수이며, 하나 이상의 공백으로 구분된다. 입력의 끝까지 각 줄을 읽어 처리한다.

출력

각 입력 줄마다 요구된 두 방정식을 예제와 같은 형식으로 두 줄에 걸쳐 출력한다. hh, kk, rr, cc, dd, ee의 값은 각각 소수점 아래 셋째 자리까지 출력한다.

숫자 앞에 부호가 두 개 겹치지 않도록 더하기와 빼기 부호를 적절히 바꾼다. 예를 들어 k=−2k = -2인 경우 해당 항은 (y - -2.000)이 아니라 (y + 2.000)으로 쓴다. 모든 +, -, = 기호는 양옆에 정확히 한 칸의 공백을 두어야 하며, 방정식 안에는 그 외의 공백이 나타나지 않아야 한다.

연속한 두 방정식 쌍 사이에는 빈 줄을 하나씩 넣어 구분한다.

힌트

예제3

  1. 예제 1

    입력
    7.0 -5.0 -1.0 1.0 0.0 -6.0
    1.0 7.0 8.0 6.0 7.0 -2.0
    
    예상 출력
    (x - 3.000)^2 + (y + 2.000)^2 = 5.000^2
    x^2 + y^2 - 6.000x + 4.000y - 12.000 = 0
    
    (x - 3.921)^2 + (y - 2.447)^2 = 5.409^2
    x^2 + y^2 - 7.842x - 4.895y - 7.895 = 0
    
  2. 예제 2

    입력
    18 5 5 18 0 -7
    
    예상 출력
    (x - 5.000)^2 + (y - 5.000)^2 = 13.000^2
    x^2 + y^2 - 10.000x - 10.000y - 119.000 = 0
    
  3. 예제 3

    입력
    4 2 -6 12 -14 -4
    
    예상 출력
    (x + 6.000)^2 + (y - 2.000)^2 = 10.000^2
    x^2 + y^2 + 12.000x - 4.000y - 60.000 = 0