Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
6 апреля 2023 17:41
456
Перед уроком по алгоритмам студенты рисуют на доске котиков. Условно доска - поле размером 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
Остались вопросы?
Еще вопросы по категории Математика
Сколько литров воды в 1,5 литрах?...
10 в -11 степени СРОЧНО!!...
первое число 60.Второе число составляет 80% первого,а третьего числа составляет 50% суммы первого и второго.Найдете среднее арифметическое этих чисел....
Y = ln tg (2x+1)/4 Вычислить производные функции....
Выполните действия: 1) (3/4 + 1/20) × 1/2=? 2) (7/12 - 1/3) × 16/19=? 3) (7 3/5 - 2 4/15) × 9/32=? 4) (11/24 + 1/6) × 1 3/5=? 5) (5 1/2 + 2 3/5) ×...