Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
22
Task/Nonoblock/Mathematica/nonoblock.math
Normal file
22
Task/Nonoblock/Mathematica/nonoblock.math
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
ClearAll[SpacesDistributeOverN, Possibilities]
|
||||
SpacesDistributeOverN[s_, p_] :=
|
||||
Flatten[
|
||||
Permutations /@ (Join[#, ConstantArray[0, p - Length[#]]] & /@
|
||||
IntegerPartitions[s, p]), 1]
|
||||
Possibilities[hint_, len_] :=
|
||||
Module[{p = hint, l = len, b = Length[hint], Spaces, out},
|
||||
Spaces = # + (Prepend[Append[ConstantArray[1, b - 1], 0],
|
||||
0]) & /@ (SpacesDistributeOverN[l - Total@p - (b - 1), b + 1]);
|
||||
out = Flatten /@ (
|
||||
Riffle[#, Map[Table[1, {#}] &, p, {1}]] & /@
|
||||
Map[Table[0, {#}] &, Spaces, {2}]);
|
||||
StringJoin @@@ (out /. {0 -> ".", 1 -> "#"})
|
||||
]
|
||||
Possibilities[{}, len_] := Module[{},
|
||||
{StringJoin[ConstantArray[".", len]]}
|
||||
]
|
||||
Possibilities[{2, 1}, 5]
|
||||
Possibilities[{}, 5]
|
||||
Possibilities[{8}, 10]
|
||||
Possibilities[{2, 3, 2, 3}, 15]
|
||||
Possibilities[{2, 3}, 5]
|
||||
Loading…
Add table
Add a link
Reference in a new issue