使用递归的方式,逐步将后一个数字填充进去,所以第n个数字填充时有n个位置可放。注意在跳出低估的时候,要恢复之前的状态。
void fill(vector> &result, vector &tmp, vector &num, int step, int total){ if(step > total){ result.push_back(tmp); return; } int i, l = tmp.size(); for(i=0; i
本文共 603 字,大约阅读时间需要 2 分钟。
使用递归的方式,逐步将后一个数字填充进去,所以第n个数字填充时有n个位置可放。注意在跳出低估的时候,要恢复之前的状态。
void fill(vector> &result, vector &tmp, vector &num, int step, int total){ if(step > total){ result.push_back(tmp); return; } int i, l = tmp.size(); for(i=0; i
转载于:https://www.cnblogs.com/waruzhi/p/3347732.html