MPL Bytecode Compiler Code
Micro Programming Language - A Portable Language for Micro Computers
Status: Beta
Brought to you by:
buzzphp
;LIBHDR
COUNT=0 ALL=0
TRY(LD,ROW,RD;POSS,P) [
ROW==ALL ? ++COUNT,[
POSS=ALL&(-1^(LD:ROW:RD));
POSS @ [
POSS=POSS-(P=POSS&-POSS);
TRY(LD+P<<1,ROW+P,RD+P>>1)
]
]
]
MAIN(;I) [
ALL=1;
I=0; ++I<=12 @ [
COUNT=0; TRY(0,0,0);
WRITEF("%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N",I,COUNT);
ALL=2*ALL+1
]
]