Solve hanging lantern problem: Difference between revisions
Content added Content deleted
(→{{header|Raku}}: Make verbose mode more verbose.) |
|||
Line 54: | Line 54: | ||
inputs = [parse(Int, i) for i in split(readline(), r"\s+")] |
inputs = [parse(Int, i) for i in split(readline(), r"\s+")] |
||
n = popfirst!(inputs) |
n = popfirst!(inputs) |
||
counts = [count(==(j), inputs) for j in inputs] |
|||
takedownways = unique(permutations(reduce(vcat, [fill(counts[i] > 1 ? counts[i]^m + i : m, m) |
|||
for (i, m) in enumerate(inputs)]))) |
|||
println("\nThere are ", length(takedownways), " ways to take these ", n, " columns down:") |
println("\nThere are ", length(takedownways), " ways to take these ", n, " columns down:") |
||
for way in takedownways |
for way in takedownways |
||
Line 125: | Line 127: | ||
[3, 3, 3, 2, 1, 2] |
[3, 3, 3, 2, 1, 2] |
||
[3, 3, 3, 2, 2, 1] |
[3, 3, 3, 2, 2, 1] |
||
Input number of columns, then column heights in sequence: |
|||
3 1 3 3 |
|||
There are 140 ways to take these 3 columns down: |
|||
[1, 10, 10, 10, 11, 11, 11] |
|||
[1, 10, 10, 11, 10, 11, 11] |
|||
[1, 10, 10, 11, 11, 10, 11] |
|||
[1, 10, 10, 11, 11, 11, 10] |
|||
[1, 10, 11, 10, 10, 11, 11] |
|||
[1, 10, 11, 10, 11, 10, 11] |
|||
[1, 10, 11, 10, 11, 11, 10] |
|||
[1, 10, 11, 11, 10, 10, 11] |
|||
[1, 10, 11, 11, 10, 11, 10] |
|||
[1, 10, 11, 11, 11, 10, 10] |
|||
[1, 11, 10, 10, 10, 11, 11] |
|||
[1, 11, 10, 10, 11, 10, 11] |
|||
[1, 11, 10, 10, 11, 11, 10] |
|||
[1, 11, 10, 11, 10, 10, 11] |
|||
[1, 11, 10, 11, 10, 11, 10] |
|||
[1, 11, 10, 11, 11, 10, 10] |
|||
[1, 11, 11, 10, 10, 10, 11] |
|||
[1, 11, 11, 10, 10, 11, 10] |
|||
[1, 11, 11, 10, 11, 10, 10] |
|||
[1, 11, 11, 11, 10, 10, 10] |
|||
[10, 1, 10, 10, 11, 11, 11] |
|||
[10, 1, 10, 11, 10, 11, 11] |
|||
[10, 1, 10, 11, 11, 10, 11] |
|||
[10, 1, 10, 11, 11, 11, 10] |
|||
[10, 1, 11, 10, 10, 11, 11] |
|||
[10, 1, 11, 10, 11, 10, 11] |
|||
[10, 1, 11, 10, 11, 11, 10] |
|||
[10, 1, 11, 11, 10, 10, 11] |
|||
[10, 1, 11, 11, 10, 11, 10] |
|||
[10, 1, 11, 11, 11, 10, 10] |
|||
[10, 10, 1, 10, 11, 11, 11] |
|||
[10, 10, 1, 11, 10, 11, 11] |
|||
[10, 10, 1, 11, 11, 10, 11] |
|||
[10, 10, 1, 11, 11, 11, 10] |
|||
[10, 10, 10, 1, 11, 11, 11] |
|||
[10, 10, 10, 11, 1, 11, 11] |
|||
[10, 10, 10, 11, 11, 1, 11] |
|||
[10, 10, 10, 11, 11, 11, 1] |
|||
[10, 10, 11, 1, 10, 11, 11] |
|||
[10, 10, 11, 1, 11, 10, 11] |
|||
[10, 10, 11, 1, 11, 11, 10] |
|||
[10, 10, 11, 10, 1, 11, 11] |
|||
[10, 10, 11, 10, 11, 1, 11] |
|||
[10, 10, 11, 10, 11, 11, 1] |
|||
[10, 10, 11, 11, 1, 10, 11] |
|||
[10, 10, 11, 11, 1, 11, 10] |
|||
[10, 10, 11, 11, 10, 1, 11] |
|||
[10, 10, 11, 11, 10, 11, 1] |
|||
[10, 10, 11, 11, 11, 1, 10] |
|||
[10, 10, 11, 11, 11, 10, 1] |
|||
[10, 11, 1, 10, 10, 11, 11] |
|||
[10, 11, 1, 10, 11, 10, 11] |
|||
[10, 11, 1, 10, 11, 11, 10] |
|||
[10, 11, 1, 11, 10, 10, 11] |
|||
[10, 11, 1, 11, 10, 11, 10] |
|||
[10, 11, 1, 11, 11, 10, 10] |
|||
[10, 11, 10, 1, 10, 11, 11] |
|||
[10, 11, 10, 1, 11, 10, 11] |
|||
[10, 11, 10, 1, 11, 11, 10] |
|||
[10, 11, 10, 10, 1, 11, 11] |
|||
[10, 11, 10, 10, 11, 1, 11] |
|||
[10, 11, 10, 10, 11, 11, 1] |
|||
[10, 11, 10, 11, 1, 10, 11] |
|||
[10, 11, 10, 11, 1, 11, 10] |
|||
[10, 11, 10, 11, 10, 1, 11] |
|||
[10, 11, 10, 11, 10, 11, 1] |
|||
[10, 11, 10, 11, 11, 1, 10] |
|||
[10, 11, 10, 11, 11, 10, 1] |
|||
[10, 11, 11, 1, 10, 10, 11] |
|||
[10, 11, 11, 1, 10, 11, 10] |
|||
[10, 11, 11, 1, 11, 10, 10] |
|||
[10, 11, 11, 10, 1, 10, 11] |
|||
[10, 11, 11, 10, 1, 11, 10] |
|||
[10, 11, 11, 10, 10, 1, 11] |
|||
[10, 11, 11, 10, 10, 11, 1] |
|||
[10, 11, 11, 10, 11, 1, 10] |
|||
[10, 11, 11, 10, 11, 10, 1] |
|||
[10, 11, 11, 11, 1, 10, 10] |
|||
[10, 11, 11, 11, 10, 1, 10] |
|||
[10, 11, 11, 11, 10, 10, 1] |
|||
[11, 1, 10, 10, 10, 11, 11] |
|||
[11, 1, 10, 10, 11, 10, 11] |
|||
[11, 1, 10, 10, 11, 11, 10] |
|||
[11, 1, 10, 11, 10, 10, 11] |
|||
[11, 1, 10, 11, 10, 11, 10] |
|||
[11, 1, 10, 11, 11, 10, 10] |
|||
[11, 1, 11, 10, 10, 10, 11] |
|||
[11, 1, 11, 10, 10, 11, 10] |
|||
[11, 1, 11, 10, 11, 10, 10] |
|||
[11, 1, 11, 11, 10, 10, 10] |
|||
[11, 10, 1, 10, 10, 11, 11] |
|||
[11, 10, 1, 10, 11, 10, 11] |
|||
[11, 10, 1, 10, 11, 11, 10] |
|||
[11, 10, 1, 11, 10, 10, 11] |
|||
[11, 10, 1, 11, 10, 11, 10] |
|||
[11, 10, 1, 11, 11, 10, 10] |
|||
[11, 10, 10, 1, 10, 11, 11] |
|||
[11, 10, 10, 1, 11, 10, 11] |
|||
[11, 10, 10, 1, 11, 11, 10] |
|||
[11, 10, 10, 10, 1, 11, 11] |
|||
[11, 10, 10, 10, 11, 1, 11] |
|||
[11, 10, 10, 10, 11, 11, 1] |
|||
[11, 10, 10, 11, 1, 10, 11] |
|||
[11, 10, 10, 11, 1, 11, 10] |
|||
[11, 10, 10, 11, 10, 1, 11] |
|||
[11, 10, 10, 11, 10, 11, 1] |
|||
[11, 10, 10, 11, 11, 1, 10] |
|||
[11, 10, 10, 11, 11, 10, 1] |
|||
[11, 10, 11, 1, 10, 10, 11] |
|||
[11, 10, 11, 1, 10, 11, 10] |
|||
[11, 10, 11, 1, 11, 10, 10] |
|||
[11, 10, 11, 10, 1, 10, 11] |
|||
[11, 10, 11, 10, 1, 11, 10] |
|||
[11, 10, 11, 10, 10, 1, 11] |
|||
[11, 10, 11, 10, 10, 11, 1] |
|||
[11, 10, 11, 10, 11, 1, 10] |
|||
[11, 10, 11, 10, 11, 10, 1] |
|||
[11, 10, 11, 11, 1, 10, 10] |
|||
[11, 10, 11, 11, 10, 1, 10] |
|||
[11, 10, 11, 11, 10, 10, 1] |
|||
[11, 11, 1, 10, 10, 10, 11] |
|||
[11, 11, 1, 10, 10, 11, 10] |
|||
[11, 11, 1, 10, 11, 10, 10] |
|||
[11, 11, 1, 11, 10, 10, 10] |
|||
[11, 11, 10, 1, 10, 10, 11] |
|||
[11, 11, 10, 1, 10, 11, 10] |
|||
[11, 11, 10, 1, 11, 10, 10] |
|||
[11, 11, 10, 10, 1, 10, 11] |
|||
[11, 11, 10, 10, 1, 11, 10] |
|||
[11, 11, 10, 10, 10, 1, 11] |
|||
[11, 11, 10, 10, 10, 11, 1] |
|||
[11, 11, 10, 10, 11, 1, 10] |
|||
[11, 11, 10, 10, 11, 10, 1] |
|||
[11, 11, 10, 11, 1, 10, 10] |
|||
[11, 11, 10, 11, 10, 1, 10] |
|||
[11, 11, 10, 11, 10, 10, 1] |
|||
[11, 11, 11, 1, 10, 10, 10] |
|||
[11, 11, 11, 10, 1, 10, 10] |
|||
[11, 11, 11, 10, 10, 1, 10] |
|||
[11, 11, 11, 10, 10, 10, 1] |
|||
</pre> |
</pre> |
||