UVa Volume I 103 - Stacking Boxes
題目來源 : Stacking Boxes
解題 :
看到問題描述,我們需要判斷一個盒子能不能放入另一個盒子中。
也就是兩種序列組合d, e的某一種重排,使得di > ej 恆成立
因為不可能一直不斷重排然後測試,因此在測試前我們先統一將序列內容從小排到大
接著,再使用一個boolean陣列nest[i][j],判斷序列j是否可以放入序列i之中。
由於序列都是由小到大排列好,因此直接用loop去一一比對。
最後,就是分別選擇不同的盒子當最外層,使用遞迴的方式。
每遞迴一層就相當於在盒子最內層再塞進一個盒子。接著只要找出能套入最多盒子的組合,
並且將組合的串列輸出。
沒有留言:
張貼留言