|
| 1 Руслан Истамкулов, 27 февраля 2025 г. 18:24:50 |
| N, M = map(int, input().split()) field = [[] for _ in range(N)] for i in range(N): field[i] = list(map(int, input().split())) dp = [[[-float('inf')] * 7 for _ in range(M)] for _ in range(N)] for k in range(1, 7): dp[0][0][k] = k * field[0][0] adjacent_faces = { 1: (2, 3, 4, 5), 2: (1, 3, 4, 6), 3: (1, 2, 5, 6), 4: (1, 2, 5, 6), 5: (1, 3, 4, 6), 6: (2, 3, 4, 5) } for i in range(N): for j in range(M): for k in range(1, 7): if i + 1 < N: for face in adjacent_faces[k]: dp[i + 1][j][face] = max(dp[i + 1][j][face], dp[i][j][k] + face * field[i + 1][j]) if j + 1 < M: for face in adjacent_faces[k]: dp[i][j + 1][face] = max(dp[i][j + 1][face], dp[i][j][k] + face * field[i][j + 1]) result = max(dp[N - 1][M - 1][k] for k in range(1, 7)) print(result)
|
|
|
| 2 Руслан Истамкулов, 27 февраля 2025 г. 18:24:27 |
| 34 тест провалил
|
|
|
| 3 Фалейчик Никита Владиславович, 23 августа 2022 г. 10:51:06 |
| Господи, сначала показалось, что 1 <= N, M, <= 100000, испугался
|
|
|
| 4 Матус Даниил Дмитриевич, 03 октября 2020 г. 12:11:14 |
| короче я сначала не увидел но условие каличное я считал что зависит не только от того какая внизу но и как куб повернут горизонтально а тут такое дибильное условие что мы на любую боковую грань ходим дибильно но зато понятно почему такой низкий рейтинг задачи
|
|
|
| 5 Севидов Артём Алексеевич, 02 октября 2020 г. 21:24:21 |
| Лол в 1 секунду ровно залез на PyPy ,ну а так задача не очень сложная...
|
|
|
| 6 Зинов Вадим, 05 августа 2020 г. 12:41:06 |
| Ван трай. Как то просто.
|
|
|
| 7 Дмитрий Козырев, 02 апреля 2019 г. 12:35:41 |
| Будьте внимательны и разберите сначала пример из условия. Кубик не перекатывается по законам перекатывания кубиков, а ставится на грань, соседнюю с нижней (одну из четырех).
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| |