Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
6 апреля 2023 17:41
521
Перед уроком по алгоритмам студенты рисуют на доске котиков. Условно доска - поле размером 2 на 3 из равных квадратов. Преподаватель не стирает котиков, но место для рассказываемого материала оставить надо. Поэтому студенты рисуют от 1 до 3 котиков, каждый из которых занимает целое число клеток: хотя бы одну, но не более двух, смежных по стороне. Причем в общем все котики не занимают более трех клеток. Различные котики могут находиться в смежных (и по стороне, и по углу) клетках. Сколькими способами студенты могут нарисовать котиков, где различными способами считаются те, в которых двух одинаковых по размеру котиков меняют местами?
1
ответ
Для решения задачи можно использовать метод динамического программирования. Пусть dp[i][j] - количество способов нарисовать котиков на поддоске размером i на j. Тогда dp[2][3] будет ответом на задачу.
Заметим, что котики могут занимать только 1 или 2 клетки. Рассмотрим все возможные варианты расположения котиков на поддоске и заполним массив dp соответствующими значениями:
1. Котик занимает 1 клетку:
- один котик: dp[2][3] = 6
- два котика: dp[2][3] = 0 (невозможно)
2. Котик занимает 2 клетки:
- один котик: dp[2][3] = 0 (невозможно)
- два котика:
- вертикально: dp[2][3] = dp[1][3] * dp[1][3] = 4
- горизонтально: dp[2][3] = dp[2][1] * dp[2][2] + dp[2][2] * dp[2][1] = 10
3. Котиков три:
- все котики занимают по одной клетке: dp[2][3] = 6
- два котика занимают по одной клетке, один - две клетки:
- один котик занимает две клетки по вертикали: dp[2][3] = dp[1][3] * 2 = 4
- один котик занимает две клетки по горизонтали: dp[2][3] = dp[2][1] * 2 = 4
- один котик занимает две клетки, два - по одной: dp[2][3] = 0 (невозможно)
Таким образом, dp[2][3] = 6 + 10 + 4 + 4 = 24. Ответ на задачу - 24.
Заметим, что котики могут занимать только 1 или 2 клетки. Рассмотрим все возможные варианты расположения котиков на поддоске и заполним массив dp соответствующими значениями:
1. Котик занимает 1 клетку:
- один котик: dp[2][3] = 6
- два котика: dp[2][3] = 0 (невозможно)
2. Котик занимает 2 клетки:
- один котик: dp[2][3] = 0 (невозможно)
- два котика:
- вертикально: dp[2][3] = dp[1][3] * dp[1][3] = 4
- горизонтально: dp[2][3] = dp[2][1] * dp[2][2] + dp[2][2] * dp[2][1] = 10
3. Котиков три:
- все котики занимают по одной клетке: dp[2][3] = 6
- два котика занимают по одной клетке, один - две клетки:
- один котик занимает две клетки по вертикали: dp[2][3] = dp[1][3] * 2 = 4
- один котик занимает две клетки по горизонтали: dp[2][3] = dp[2][1] * 2 = 4
- один котик занимает две клетки, два - по одной: dp[2][3] = 0 (невозможно)
Таким образом, dp[2][3] = 6 + 10 + 4 + 4 = 24. Ответ на задачу - 24.
0
·
Хороший ответ
6 апреля 2023 17:43
Остались вопросы?
Еще вопросы по категории Математика
Исследуйте на четность (нечетность) функции y= |x-2| + |x+2|...
запишите в виде десятичных дробей смешанные числа: 2 целых 5/8;1 целых 6/125;3 целых 17/200;8 целых 9/250;7 целых 3/500;6 целых 7/8;4 целых 9/125;5 це...
Найди значения выражений 500-500:2+160*3 (1 000-625):5+63*8 42:3*8+160-296:8 7*(281-156)-6*235:5...
Какая формула у 1,2-диметилциклопентана?...
Найдите истинностное значение высказывания а, если: a. 𝑎∧(¬𝑎→𝑎)−Л; b. (𝑎→(𝑎∨(¬𝑎)))∨((𝑎∧(3⋅7=21))→(¬𝑎))–И....