У меня есть 2d сетки целых чисел с размерами (n1xn2):найти оптимальный путь на 2-й зоне с определенными правилами
1 4 3
3 5 7
2 6 4
Цель состоит в том, чтобы найти путь слева направо, который имеет самую высокую сумму. Например, в этом случае сумма будет равна 3 + 6 + 7 = 16
. Путь может двигаться только на восток и только на соседей самого себя (т. Е. Вы не можете прыгать с 2 на 4, потому что 4 - более чем на расстоянии одной единицы).
Мой вопрос в том, какие методы я могу найти и хранить все возможные пути для пользователя, заданного сетью, зная его размеры? Способно ли хранить всю сетку в 2D-массиве int[rows][cols]
или int[cols][rows]
? Я предполагаю, что это будет сделано проще всего рекурсивным способом.
Я знаю, что есть похожие вопросы, но я не смог сформулировать для них рабочее решение. Любая помощь будет принята с благодарностью.
Это сделало бы хорошим полем Code Golf. – CaffeineToCode
Что вам нравится? Я могу только сказать, что неважно, используете ли вы 'int [rows] [cols]' или наоборот, если вы правильно их адресуете. – Flown
Рекурсия и эффективность не имеют никакого отношения к тому, сохраняете ли вы матрицу или ее транспонирование. – duffymo