Set puzzle: Difference between revisions

m
Better name in second D entry
(Shorter second D entry)
m (Better name in second D entry)
Line 671:
"solid open striped".split).array;
 
restartretry:
auto draw = deck.randomSample(nDraw).map!(t => [t[]]).array;
auto sets = draw.combinations(3).array.filter!((string[][] cs) =>
cs.array.transposed.all!(t => t.array.sort().uniq.count % 2)).array;
if (sets.length != nGoal)
goto restartretry;
 
writefln("Dealt %d cards:\n%(%-(%8s %)\n%)\n", draw.length, draw);