現在有n個人,每個人在m個選項中選擇一個,不同的人可以選擇相同的選項,把每個人的選擇放到一個長度為n的陣列arr中,arr[ i ]的值就表示第 i 個人選擇的是第幾個選項,然后對所有可能的情況進行窮舉,并將每一種情況的使用f(int arr[ ])進行處理,這個該怎么寫?
我試過用n層for回圈和遞回,但是當n比較大的時候,for回圈會層數太多,遞回會直接崩潰,請問還有沒有比較好的演算法來實作?
uj5u.com熱心網友回復:
我感覺可以用N位,M進制數來表示。。。。。uj5u.com熱心網友回復:
比如8個人2個選項,那么不過就是一個8位2進制的問題從
依次輸入從00000000到11111111,而以。
uj5u.com熱心網友回復:
一次回圈即可轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/44299.html
標籤:C++ 語言
上一篇:求助一個動態記憶體分配的問題
