Сколькими способами можно раскрасить клетки прямоугольника 2*2019 в два цвета так чтобы никакие три клетки одного цвета не образовали уголок из трёх клеток ?
Для решения этой задачи можно воспользоваться методом динамического программирования.
Обозначим через D(n) количество способов раскрасить прямоугольник 2* n таким образом, чтобы никакие три клетки одного цвета не образовывали уголок из трех клеток.
Для начала посчитаем значения функции для маленьких n:
D(1) = 2, так как мы можем покрасить первую строку в два разных цвета. D(2) = 6, так как мы можем покрасить первую строку в 2*2=4 способами, а вторую строку уже однозначно.
Для дальнейших вычислений будем рассматривать два случая: первая строка имеет пять различных цветов и первая строка имеет четыре различных цвета.
Первая строка имеет пять различных цветов:
D(n) = 5 * D(n-1)
Первая строка имеет четыре различных цвета:
Два варианта продолжения: а) Вторая строка имеет четыре различных цвета:
D(n) = 4 * D(n-1)
б) Вторая строка имеет пять различных цветов:
D(n) = 4 * D(n-1) + D(n-2)
Таким образом, можем написать программу на Python для вычисления D(2019) и найти ответ на задачу.
Для решения этой задачи можно воспользоваться методом динамического программирования.
Обозначим через D(n) количество способов раскрасить прямоугольник 2* n таким образом, чтобы никакие три клетки одного цвета не образовывали уголок из трех клеток.
Для начала посчитаем значения функции для маленьких n:
D(1) = 2, так как мы можем покрасить первую строку в два разных цвета.
D(2) = 6, так как мы можем покрасить первую строку в 2*2=4 способами, а вторую строку уже однозначно.
Для дальнейших вычислений будем рассматривать два случая: первая строка имеет пять различных цветов и первая строка имеет четыре различных цвета.
Первая строка имеет пять различных цветов:D(n) = 5 * D(n-1)
Первая строка имеет четыре различных цвета:Два варианта продолжения:
а) Вторая строка имеет четыре различных цвета:
D(n) = 4 * D(n-1)
б) Вторая строка имеет пять различных цветов:
D(n) = 4 * D(n-1) + D(n-2)
Таким образом, можем написать программу на Python для вычисления D(2019) и найти ответ на задачу.