Ctrl K

Рамки одной формы

Средняя
В мастерской лежат n фоторамок. Рамка i задана парой frames[i] = [w, h] — ширина и высота. Две рамки одной формы, если у них одинаковое отношение ширины к высоте (точное, а не округлённое), то есть одна — увеличенная или уменьшенная копия другой. Поворачивать рамки нельзя. Верните число пар индексов i < j, у которых рамки i и j одной формы.
Пример 1
frames=[[3, 2], [6, 4], [2, 3], [9, 6]] → 3

Рамки 3×2, 6×4 и 9×6 имеют отношение 3 : 2 и дают три пары. Рамка 2×3 повёрнута иначе (2 : 3) и пары ни с кем не образует.

Пример 2
frames=[[5, 7], [7, 5]] → 0

Отношения 5 : 7 и 7 : 5 разные, пар нет.

Пример 3
frames=[[1, 1], [4, 4], [10, 10]] → 3
Ограничения
  • 1 ≤ n ≤ 10⁵
  • 1 ≤ w, h ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПростые числа на лучах сетки СредняяРовные стопки карт ЛёгкаяПары со взаимно простыми цифрами ЛёгкаяНОД пар по номеру в сортировке СложнаяПары, уравновешенные зеркалом Средняя
загружаем Python…
Вход
frames=[[3, 2], [6, 4], [2, 3], [9, 6]]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 85 тестов на сервере, включая скрытые.