Ограничение времени 2 секунды
Ограничение памяти 512Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Несколько игроков играют в следующую игру: изначально дан правильный многоугольник с
N
вершинами, в котором не проведено ни одной диагонали. Ход игрока заключается в том, что он соединяет две не соседние вершины многоугольника диагональю так, чтобы она не пересекала уже проведённые диагонали в какой-либо точке, не являющейся вершиной многоугольника (в частности, это обозначает, что совпадающие диагонали проводить нельзя).
Игра заканчивается, когда ход сделать невозможно. Правила подсчёта очков в этой игре слишком сложны, и здесь мы их приводить не будем. Выведите наименьшее суммарное количество ходов, сделанных игроками.

16 Ноя 2019 в 19:48
435 +1
1
Ответы
1

Давайте подойдем к этой задаче с точки зрения жадного алгоритма. Мы можем заметить, что каждая диагональ, проведенная в многоугольнике, разбивает его на два многоугольника с меньшим числом вершин. Поэтому каждый ход добавляет одну диагональ и уменьшает количество вершин на единицу.
Исходя из этого, мы можем сделать следующее рассуждение:

Если у нас есть многоугольник с количеством вершин от 3 до 4, мы можем провести все возможные диагонали, и игра закончится.Если у нас есть многоугольник с количеством вершин от 5 до 7, мы можем провести диагональ, разбивая его на два многоугольника с 3 и (N-3) вершинами.И так далее.

Итак, чтобы получить наименьшее количество суммарных ходов, нам нужно разбивать многоугольник на два подмногоугольника с наименьшим числом вершин. Поэтому ответом на задачу будет N-2, где N - количество вершин в исходном многоугольнике.

Пример:
Входные данные:
5

Выходные данные:
3

Пояснение:
В начале у нас есть пятиугольник. Проводим диагональ, разбиваем на треугольник и четырехугольник. Проводим еще 2 диагонали, до полного разделения на треугольники. Всего 3 хода.

19 Апр в 01:45
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир