eolymp
bolt
Try our new interface for solving problems
Məsələlər

Триангуляция Делоне

Триангуляция Делоне

Триангуляцией некоторого набора точек на плоскости называется набор невырожденных треугольников, удовлетворяющий следующим свойствам: \begin{enumerate} \item Вершинами треугольников являются только точки исходного набора. Каждая точка исходного набора является вершиной хотя бы одного треугольника. \item Два различных треугольника либо не имеют общих точек, либо имеют общую вершину, либо имеют общую сторону (но площадь их пересечения всегда равна \textbf{0}). \item Любая точка, лежащая внутри выпуклой оболочки исходного набора точек, принадлежит хотя бы одному треугольнику (она может принадлежать нескольким треугольникам, если является их общей вершиной или принадлежит их общей стороне). (Выпуклой оболочкой некоторого набора точек называется наименьший выпуклый многоугольник, содержащий все эти точки). \end{enumerate} Триангуляция называется триангуляцией Делоне, если, кроме того, для нее выполняется следующее условие: \begin{itemize} \item Внутри окружности, описанной около любого треугольника из триангуляции, не лежит ни одна из исходных точек (точки могут лежать на окружности, в частности на ней, очевидно, лежат вершины рассматриваемого треугольника) \end{itemize} Для заданного набора точек найдите количество его триангуляций Делоне (две триангуляции считаются различными, если они отличаются хотя бы одним треугольником) \InputFile В первой строке входного файла находится число \textbf{N} -- количество точек (\textbf{3} ≤ \textbf{N} ≤ \textbf{30}) исходного набора. Следующие \textbf{N} строк содержат по одной паре вещественных чисел -- координаты соответствующей точки. Никакие три точки не лежат на одной прямой. \OutputFile Выведите в выходной файл количество различных триангуляций Делоне указанного набора точек.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
4
0.0 0.0
1.0 0.0
0.0 1.0
1.0 1.0
Çıxış verilənləri #1
2