Set puzzle: Difference between revisions

Content added Content deleted
m (Better name in second D entry)
m (Small improvement in second D entry)
Line 672: Line 672:


retry:
retry:
auto draw = deck.randomSample(nDraw).map!(t => [t[]]).array;
const draw = deck.randomSample(nDraw).map!(t => [t[]]).array;
auto sets = draw.combinations(3).array.filter!((string[][] cs) =>
const sets = draw.combinations(3).array.filter!((string[][] 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)