Лучшие помощники
- Megamozg 2200 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
6 апреля 2023 17:41
312
Перед уроком по алгоритмам студенты рисуют на доске котиков. Условно доска - поле размером 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
Остались вопросы?
Еще вопросы по категории Математика
Юра и Антон играли в кегли и сбили всего 13кеглей.сколько кеглей мог сбить каждый мальчик,если Антон каждый раз сбивал больше чем Юра?...
Какова масса 10 центнеров?...
Какое время будет, если на время, показываемое на часах '10 минут 7', прибавить 2 часа и 15 минут?...
Сколько секунд в 1 минуте?...
Из карточек с цифрами 2 3 4 5 6 7 котёнок Гав составляет 3 двузначных числа председатель общества симпатичных котят выбирает самое большое из чисел со...
Все предметы