L3-001 凑零钱 (30 分)
01背包问题记录路径
#include
using namespace std;
const int N = 1e4+10;
int n, m;
int a[N], dp[110], op[N][110];
int main()
{
cin >> n >> m;
for (int i = 1;i > a[i];
sort (a+1, a+n+1, greater ()); // 从大到小排序算得的是最小字典序,从小到大排序算得的是最大字典序
for (int i = 1;i = a[i];j --) {
if (dp[j] = 0) {
if (op[i][j]) {
if (flag) cout > a;
peo[i] = a;
st[a] = 1;
while (-- k) {
cin >> b;
join (a, b);
st[b] = 1;
}
}
for (int i = 1;i
关注
打赏