Dinesman's multiple-dwelling problem: Difference between revisions
Content added Content deleted
m (→{{header|D}}: they're not functions of course, but delegates) |
|||
Line 117: | Line 117: | ||
} |
} |
||
size_t[] solve(T...)(size_t len, T |
size_t[] solve(T...)(size_t len, T fun) { |
||
auto perms = permutations(len); |
auto perms = permutations(len); |
||
outer: |
outer: |
||
foreach (p; perms) { |
foreach (p; perms) { |
||
foreach ( |
foreach (fn; fun) |
||
if (! |
if (!fn(cast(int[])p)) |
||
continue outer; |
continue outer; |
||
return p; |
return p; |