Ввод: общая стоимость.
Вывод: все комбинации уровней, которые дают желаемую стоимость.
Каждый уровень каждого стека стоит разную сумму (уровень 1 в стеке 1 не стоит столько же, сколько уровень 1 в стеке 2). У меня есть функция, которая преобразует уровень в фактическую стоимость на основе базовой стоимости (уровень 1), которую я ввел вручную (жестко запрограммировано).
Мне нужно найти комбинацию уровней, которые дают мне предполагаемую стоимость. Я понимаю, что существует более одного возможного решения, но мне нужен только способ перебора всех возможных вариантов.
Вот что мне нужно:
input = 224, это one решений:
Я делаю простую программу, которая должна выбирать уровни различных стеков, а затем вычислять стоимость, и мне нужно знать все возможные возможные затраты ... Каждый уровень каждого стека стоит различную сумму денег, но проблема не в этом, проблема в том, как выбрать один уровень для каждого стека.
Я, вероятно, объяснил это очень расплывчато, так что вот картинка (вам придется извинить мои плохие навыки рисования):
Итак, все стеки имеют уровень 0, а уровень 0 всегда стоит 0 денег.
Дополнительная информация:
- У меня есть массив с именем «maxLevels», длина этого массива - это количество стеков, а каждый элемент - номер самого высокого уровня в этом стеке (например, maxLevels [0] == 2).
- Вы можете выполнять итерации с 1-го уровня, поскольку уровень 0 вообще не имеет значения.
- Выбранные уровни должны быть сохранены в массиве (имя: «currentLevels), который похож на maxLevels (той же длины), но вместо того, чтобы содержать максимальный уровень стека, он содержит выбранный уровень стека (например, : currentLevels [3] == 2).
- Я программирую на C ++, но с псевдокодом тоже все в порядке.
- Это не домашнее задание, я делаю это для развлечения (в основном для игры).