舉例:
1,2,3,4,5分組
第一類分組【1,2】【3】【5】
第二類分組【3,4】【1,2,4】【5】
第三類分組【3,5】【2,2,4】
每個數字只能出現在一個類別里,每個分組里的數字不能重復,數字全部分完,滿足條件的分組是【1,2,4】【3,5】
數字個數為M,類別數量為N,每個類別的分組不定。求第一個滿足條件的分組。
uj5u.com熱心網友回復:
第一種方案1,數字放在一個陣列里。
2,根據組數,生成亂數。比如3組,就隨機生成1,2,3
3,每生成一個組數,就從1的數字陣列里拿一個。
4,直到拿完。
第二種方案
1,數字放在一個二維陣列里的第一維。
2,回圈生成二維陣列里第二維的值,比如3組,就隨機生成1,2,3
3,根據二維里的值,回圈輸出一下。
uj5u.com熱心網友回復:
你要要將元素分組,還是要對已有分組判斷滿足條件?如果是后者,這些分組是如何提交的?分組“類”的規則是什么?單個元素的“分組”是否合法?最大分組可容納幾個元素?
uj5u.com熱心網友回復:
你這個問題,只有說一下“解決思路”了:
// 第1層回圈:遍歷所有“分類”
{
// 把待判斷資料放入一個“臨時陣列”內,比如你說的“1,2,3,4,5”
// 用一個變數記數:此處變數置0
// 第2層回圈:遍歷“本分類”所有的分組
{
// 第3層回圈:遍歷各分組的元素。 可能還要用到第4層回圈。
// 判斷每一個分組元素是否存在于“臨時陣列”中
if (在臨時陣列內)
{
// 記數變數 +1
// 把該元素從“臨時陣列”內移除
}
else
{
// 跳出第3層、第2層回圈(注意:方法及流程)
}
} // 第2層回圈結束
if (記數變數 == 資料個數)
{
// "本分類“符合要求
}
else
{
// “本分類”不符合要求
}
}
// 其它后續處理
uj5u.com熱心網友回復:
按上面的處理流程:如果任意一個分類的“分組資料出現重復”,或者“資料沒分完”,
都會出現“記數變數” ≠ “資料個數”的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/78325.html
標籤:VB基礎類
