- Описание
- Отправленные решения
2. Классы подобия треугольников
Вам дан набор из треугольников (). Каждый треугольник задается тремя целыми числами длинами его сторон. Длины сторон положительные целые числа, не превосходящие . Некоторые пары треугольников подобны. В силу свойств подобия известно, что все эти треугольники распадаются на несколько классов, в каждом из которых все треугольники подобны друг другу. К примеру, три треугольника со сторонами , , все попарно подобны друг другу, то есть образуют один класс. Необходимо найти количество классов подобия, на которые распадаются данные треугольников.
Сложность алгоритма должна в среднем линейно зависеть от (может еще зависеть от ограничений на стороны треугольника). Т.е. никаких сортировок длинных массивов в решении делать нельзя.
Формат ввода
В первой строке входа дано число . В каждой из следующих строк по три целых числа, задающих стороны очередного треугольника.
Формат вывода
Выведите число классов подобия.
Ограничения
Ограничение времени
2 с
Ограничение памяти
512 МБ
Пример 1
3
6 6 10
15 25 15
35 21 21
1
Пример 2
4
3 4 5
10 11 12
6 7 8
6 8 10
3