如果存在此問題的正式名稱(或者這是重複的並且我沒有找到正確的問題來查看),那麼指出我真正應該尋找的東西也將不勝感激!但是,我一直無法找到任何有關這個特定問題的討論或方法。如果我們從每個Y向量中選擇一個值,則每個X數字組合都有可能
我試圖讓問題儘可能簡單,如果更多的細節將有助於讓我知道。
假設我們有INT的4個隨機長度載體:
std::vector<int> v1 {1, 7, 5, 2};
std::vector<int> v2 {4, 2, 1};
std::vector<int> v3 {1, 9, 4, 6, 4, 1, 2};
std::vector<int> v4 {9, 4};
在這些四個矢量的,我需要生成,我們選擇從每個源向量僅使用一個INT每個可能的組合(V1 - V4)在一次。結果應該是我們從源向量中生成每個可能的N長度數,其中N =源向量的數量(在這種情況下爲4)。
幾個可能的組合是很容易產生,例如只選擇第一數目從每個源向量的:
1 4 1 9
選擇每個源向量的最後一個號碼:
2 1 2 4
我被卡住的地方正在產生每一個可能的組合。我需要每個可能的N長度數字,可以通過組合來自4個源矢量中的每一個的一個int來創建。
謝謝!
也許'的std :: next_permutation'可以幫助你(不知道雖然)。 – DimChtz
它們是4矢量圖嗎?在這種情況下,四個嵌套循環就足夠了 – AhmadWabbi
如果不是完全四個,遞歸或通過循環循環的循環。這就是說,雖然強力運作,但它是緩慢和不滿意。您可能能夠檢查暴力解決方案的輸出以確定可幫助您減少工作量的模式。 – user4581301