Для решения данной задачи можно рассмотреть офис компании как граф, где каждая комната — это узел (вершина), а соседние комнаты — это ребра, соединяющие узлы. Задача заключается в том, чтобы выбрать максимальное количество узлов (менеджеров), так чтобы между ними не было ребер — это означает, что мы не можем выбрать двух соседних менеджеров.
Давайте обозначим количество комнат в ряду, например, \( n \). Если мы представим комнаты в виде чередующихся комнат (например, A, B, A, B и так далее), то мы можем заметить, что если в комнате A стоит главный менеджер, то в соседних комнатах B главные менеджеры находиться не могут.
Существует известный алгоритм для шешения задач подобного рода, который включает использование метода динамического программирования или простого перебора. Однако для простоты будем рассматривать биномиальные подходы.
Если у нас есть \( n \) комнат, то максимальное количество менеджеров, которых можно повысить, зависит от четности или нечетности \( n \):
Если \( n \) четное, то максимальное количество выбираемых узлов (менеджеров) будет \( \frac{n}{2} \). Например, если у нас 6 комнат, то можно выбрать 3 менеджера: 1-ая, 3-я и 5-я комнаты.
Если \( n \) нечетное, то максимальное количество будет \( \frac{n + 1}{2} \). Например, если у нас 7 комнат, то можно выбрать 4 менеджера: 1-ая, 3-я, 5-я и 7-я комнаты.
Таким образом, общее правило таково: максимальное количество менеджеров, которых можно повысить, составляет \( \lceil \frac{n}{2} \rceil \), где \( \lceil x \rceil \) — это функция округления вверх.
Этот результат действительно максимален, так как любое перемещение одного менеджера в соседнюю комнату нарушает условие, что соседние отделы не могут иметь главного менеджера.
Если вам известен конкретный граф комнат, можно провести более детальный анализ, но общий подход остается неизменным.
