RosettaCodeData/Task/Amb/J/amb-1.j
2023-07-01 13:44:08 -04:00

13 lines
357 B
Text

ambsel=: <^:99@,
ambassert=: {{
anames=. (#~ 99<:{{L.do y}}@>) (#~ 0=nc)/:~~.;:m
limit=. */alimits=. #@> avalues=. {{>^:98 do y}}every anames
j=. 0 while. do.
(anames)=. test=. (alimits#:j) {each avalues
try. do m
anames {{(x)=:y}}&> test break.
catch. end.
if. limit<:j=.j+1 do. assert.'no valid solution' end.
end. EMPTY
}}