Set puzzle: Difference between revisions

Content deleted Content added
m Small improvement in second D entry
m Simpler second D entry
Line 672: Line 672:


retry:
retry:
const draw = deck.randomSample(nDraw).map!(t => [t[]]).array;
auto draw = deck.randomSample(nDraw).map!(t => [t[]]).array;
const sets = draw.combinations(3).array.filter!((string[][] cs) =>
const sets = draw.combinations(3).array.filter!(cs =>
cs.array.transposed.all!(t => t.array.sort().uniq.count % 2)).array;
cs.array.transposed.all!(t => t.array.sort().uniq.count % 2)).array;
if (sets.length != nGoal)
if (sets.length != nGoal)