Задача 29.
Будем называть два многоугольника подобными, если существует взаимно-однозначное отображение сторон этих двух фигур такое, что соответствующие стороны пропорциональны с коэффициентом пропорциональности k, а углы, образованные двумя соответствующими сторонами, равны.
Определить, подобны ли два многоугольника. Многоугольники задаются на плоскости координатами вершин контуров. Вершины в контуре перечисляются в порядке обхода против часовой стрелки.
Примечание: так как все вычисления на ЭВМ проводятся с ограниченной точностью, то считать, что две величины равны если они совпадают с точностью до двух знаков после запятой.
ВВОД: <из файла T.TXT>
<Количество вершин в контуре:> N
<Многоугольник 1:>
<Координаты вершины 1:> x11, y11
.....
<Координаты вершины N:> x1N, y1N
<Многоугольник 2:>
<Координаты вершины 1:> x21, y21
.....
<Координаты вершины N:> x2N, y2N
ВЫВОД:
<Многоугольники не подобны>
или
<Многоугольники подобны с k=> k
|
Решение задачи 29.
Подобные многоугольники могут быть зеркально симметричны! Фигура на плоскости полностью характеризуется матрицей расстояний С(i,j), С(i,j)=расстоянию от вершины i до вершины j. Для каждой из введенных фигур строим свою матрицу расстояний и проверяем, можем ли мы получить из одной матрицы вторую перестановкой строк и столбцов и умножением всех элементов матрицы на одно и то же число.
|