輸入:總成本。鑑於不同高度的堆疊,我如何選擇每種可能的組合?
輸出:給出所需成本的所有級別組合。
每個堆棧的每個級別的開銷都不同(堆棧1中的級別1與堆棧2中的級別1不相同)。我有一個功能,可以根據我手動輸入(硬編碼)的基本成本(級別1)將級別轉換爲實際成本。
我需要找到給我輸入成本的級別組合。我意識到有不止一種可能的解決方案,但我只需要一種方法來迭代每種可能性。
以下是我需要:
輸入= 224,這是解決方案的一個:
我做一個簡單的程序,需要選擇不同的水平堆棧然後計算成本,並且我需要知道存在的每一個可能的成本......每個堆棧的每個級別花費不同數量的金錢,但這不是問題,問題是如何爲每個堆棧選擇一個級別。
我大概解釋了非常含糊,所以這裏的圖片(你要原諒我那可憐的繪畫技巧):
因此,所有堆棧有0級,0級始終花費0錢。
附加信息:
- 我有稱爲「maxLevels」的陣列,該陣列的長度是堆疊的數量,並且每個元件是在該堆疊中的最高級別的數目(例如,maxLevels [0] == 2)。
- 您可以從第1級進行迭代,因爲級別0根本就不重要。
- 所選級別應保存在與maxLevels(相同長度)類似的數組中(名稱:「currentLevels」),但不包含堆棧的最大級別,它包含選定的堆棧級別(例如:currentLevels [3] == 2)
- 我在C++編程,但僞代碼是罰款以及
- 這不是功課,我做它的樂趣(這是基本的。遊戲)
我重新閱讀問題幾次,我在努力理解它。你能否提供一個具體的例子,顯示輸入,輸出和計算輸出的步驟? – NPE 2011-12-22 11:05:08
我不認爲你會從中得到任何東西......只有輸入是成本,每個堆棧的每個級別加起來有點,所以程序的任務是找到不同級別的精確組合,以便它匹配成本。我馬上回來,我會編輯這個問題! – corazza 2011-12-22 11:07:56
'(currentLevels [0] + currentLevels [1] + currentLevels [2] + ...)== requested_cost'這是你想實現的嗎?或者5級的成本可能不同於5? – Baltram 2011-12-22 11:15:58