Giới thiệu
Hãy tưởng tượng bạn đang ở trên một mặt phẳng cartesian hai chiều và muốn xác định vị trí của bạn trên nó. Bạn biết 3 điểm trên mặt phẳng đó và khoảng cách của bạn với mỗi người trong số họ. Mặc dù luôn có thể tính toán vị trí của bạn từ đó, nhưng làm điều đó trong đầu của bạn là khá khó khăn. Vì vậy, bạn quyết định viết một chương trình cho điều đó.
Các thách thức
Cho 3 điểm và khoảng cách của bạn với họ, xuất ra các điểm chính của vị trí của bạn.
- Đầu vào và đầu ra có thể ở bất kỳ định dạng thuận tiện, bao gồm sử dụng số phức thay vì số thực. Hãy làm rõ trong câu trả lời của bạn mà bạn sử dụng định dạng.
- Bạn sẽ luôn nhận được chính xác 3 điểm khác biệt với khoảng cách của họ với bạn.
- Các tọa độ và khoảng cách sẽ được thả nổi với độ chính xác tùy ý. Đầu ra của bạn phải chính xác đến 3 chữ số thập phân. Làm tròn là tùy thuộc vào bạn. Hãy làm rõ trong câu trả lời của bạn.
- Bạn có thể cho rằng ba điểm không thẳng hàng, vì vậy sẽ luôn có một giải pháp duy nhất.
- Bạn không được phép bruteforce giải pháp.
- Bạn không được sử dụng bất kỳ nội dung nào tầm thường hóa vấn đề cụ thể này. Nội dung cho các chỉ tiêu vector, vv được cho phép mặc dù.
Gợi ý để bắt đầu:
Hãy nghĩ về một vòng tròn xung quanh mỗi 3 điểm đó với khoảng cách của chúng với bạn là bán kính.
Quy tắc
- Chức năng hoặc chương trình đầy đủ cho phép.
- Quy tắc mặc định cho đầu vào / đầu ra.
- Tiêu chuẩn áp dụng.
- Đây là môn đánh gôn , do đó, số byte thấp nhất sẽ thắng. Tiebreaker là trình trước đó.
Các trường hợp thử nghiệm
Định dạng đầu vào cho một điểm ở đây là [[x,y],d]
với x
và y
là tọa độ và d
là khoảng cách đến thời điểm này. 3 trong số những điểm đó được sắp xếp trong một danh sách. Đầu ra sẽ x
và sau đó y
trong một danh sách.
[[[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]
Bạn có thể tạo các trường hợp thử nghiệm bổ sung với chương trình Pyth này . Vị trí đi trên dòng đầu tiên của đầu vào và 3 điểm nằm trên 3 dòng sau.
Chúc mừng mã hóa!
solve
(đưa ra ba phương trình vòng tròn) tầm thường hóa vấn đề? Tôi nghĩ là vậy, nhưng nếu bạn ổn với những thứ như vậy tôi sẽ tiếp tục và đăng nó.