소개
2 차원 직교 평면에 있고 그 위치를 결정하고 싶다고 상상해보십시오. 당신은 그 비행기의 3 점과 각각의 거리를 알고 있습니다. 그것으로부터 당신의 위치를 계산하는 것이 항상 가능하지만, 당신의 머리에서 그것을하는 것은 꽤 어렵습니다. 그래서 당신은 그것에 대한 프로그램을 작성하기로 결정했습니다.
도전
3 점과 거리가 주어지면 위치의 좌표를 출력하십시오.
- 입력 및 출력은 실수 대신 복소수를 사용하는 것을 포함하여 편리한 형식 일 수 있습니다. 어떤 형식을 사용하는지 답으로 명기하십시오.
- 당신은 항상 당신과의 거리와 정확히 3 개의 별개의 포인트를 얻을 것입니다.
- 좌표와 거리는 임의의 정밀도로 플로팅됩니다. 출력은 소수점 이하 3 자리까지 정확해야합니다. 반올림은 당신에게 달려 있습니다. 답을 명기하십시오.
- 세 점이 동일 선상에 있지 않다고 가정 할 수 있으므로 항상 고유 한 솔루션이 있습니다.
- 솔루션을 무차별 적으로 수행 할 수 없습니다.
- 이 특정 문제를 사소한 내장을 사용할 수 없습니다. 벡터 규범 등을위한 내장도 허용됩니다.
시작하는 힌트 :
반경을 기준으로 거리가 3 개인 각 점 주위에 원을 생각해보십시오.
규칙
- 기능 또는 전체 프로그램이 허용됩니다.
- 입 / 출력의 기본 규칙 .
- 표준 허점이 적용됩니다.
- 이것은 code-golf 이므로 바이트 수가 가장 적습니다. Tiebreaker는 이전에 제출되었습니다.
테스트 사례
한 지점의 입력 형식은 여기 [[x,y],d]
로 x
하고 y
좌표를 주도하고 d
이 지점까지의 거리 인. 해당 포인트 중 3 개가 목록으로 정렬됩니다. 출력 될 것입니다 x
다음과 y
목록에서.
[[[1, 2], 1.414], [[1, 1], 2.236], [[2, 2], 1.0]]-> [2, 3] [[[24.234, -13.902], 31.46], [[12.3242, 234.12], 229.953], [[23.983, 0.321], 25.572]]-> [-1.234, 4.567] [[[973.23, -123.221], 1398.016], [[-12.123, -98.001], 990.537], [[-176.92, 0], 912.087]]-> [12.345, 892.234]
이 Pyth 프로그램으로 추가 테스트 사례를 생성 할 수 있습니다 . 위치는 입력의 첫 번째 줄로 가고 3 점은 다음 3 줄에 있습니다.
행복한 코딩!
solve
(세 개의 원 방정식이 주어짐) 문제가 사소한 것입니까? 나는 그것이 사실이라고 생각했지만, 당신이 그런 것들에 대해 괜찮다면 계속해서 게시 할 것입니다.