Loading image…
🔥 SQL-задача: ближайшие точки с подвохом

Карта размером 100 × 100 замкнута: переход вправо от x = 100 возвращает к x = 0. По вертикали действует то же правило.

CREATE TABLE points (
id INT PRIMARY KEY,
x INT,
y INT
);

INSERT INTO points VALUES
(1, 1, 1),
(2, 99, 99),
(3, 50, 50),
(4, 52, 52);


Напишите запрос, который найдёт все пары точек с минимальным расстоянием по прямой с учётом переходов через границы.

Условия:

⏺️ точку нельзя сравнивать с собой;
⏺️ пары (1, 2) и (2, 1) считаются одной;
⏺️ при одинаковом минимуме выведите все пары;
⏺️ результат: id1, id2, distance.

Обычная формула расстояния без учёта границ даст неверный ответ
Views: 107
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go