int N, M; void output(int a[]) { for (int i = M; i >=1; i--) { if (1 == a[i]) cout << i << " "; } cout << endl; } void backpack(int a[], int n, int m) { if (n < 1 || m < 1 || (m == 1 && n != 1)) { return; } if (m == n) { a[m] = 1; output(a); a[m] = 0; } backpack(a, n, m-1); a[m] = 1; backpack(a, n - m, m - 1); a[m] = 0; }
以上就是内向大白最近收集整理的关于背包问题:求小于M并且加起来和等于N的数的全部内容,更多相关背包问题:求小于M并且加起来和等于N内容请搜索靠谱客的其他文章。
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
发表评论 取消回复