Re: [請益] 配對問題

看板Prob_Solve作者 ((short)(-15074))時間14年前 (2009/12/17 01:55), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《wchunga (阿銓看這邊)》之銘言: : 假設有 N個顏色的盒子,每一個盒子裡面有數顆與盒子相同顏色的球 : 且球上有號碼。盒子中的球,數目都不一定。 請問要如何列出所有的可能? : ex: 以2個盒子 為例,假設 藍盒裡面有藍球3顆, 紅盒中有紅球2顆 : 則 跑1 次loop,可得到... : 藍1紅1 : 藍1紅2 : 藍2紅1 : 藍2紅2 : 藍3紅1 : 藍3紅2 共6種. : 如果以這種方式演算,有N個盒子時,我需要跑 N-1次 loop. 而且每次loop : 所花的時間取決於盒子球的數量多少。 : 請問有沒有更好的演算法? 還是有人知道該用什麼關鍵字去查相關的資訊? : 謝謝回答。 給你另一個例子 一年內的時間是由日、小時、分、秒組成的 一年有365日 一日有24小時 一小時有60分 一分有60秒 類比成四個盒子 分別有 365 個白球 24 個藍球 60 個紅球 60 個黃球 各自都從0開始編號 那麼各取一個出來就能組成一個時間 而要跑過全部所有時間有一個很簡單的做法是 for(t=0; t<31536000; t++) { d=...; h=...; m=...; s=...; /* 這裡 h:m:s 就是一個時間了 */ /* 細節我不寫, 自己想想看 */ } 也就是這個迴圈解決了上面這四個盒子的問題 你可以思考一下這個例子和你的問題之間的類比 就知道你的問題要怎麼解決了 -- 'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.92

12/17 03:30, , 1F
如果單位數量不多的話,幾個單位幾個for迴圈
12/17 03:30, 1F
文章代碼(AID): #1BAHy8yl (Prob_Solve)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1BAHy8yl (Prob_Solve)