#!/usr/bin/perl # 1 - a pair of sigs (42 over) # Generator @m=(_,"|")x345;{my@a;!$v{$_}&$_>0&$_<346?push@a,$_:0for($p-1)%23?$p-1:0, $p%23?$p+1:0,$p+23,$p-23;$p=pop@v,redo if!@a;(($r=$a[@a*rand])-$p)**2>1? $m[$r>$p?2*$p-2:2*$r-2]=$":($m[$r>$p?2*$p-1:$r*2-1]=_);push@v,$p;$v{$p}= $p=$r;keys%v<345&&redo}print$l?"":"\ec"."_"x47,$l++%46?"":"$/|",$_ for@m # Solver $|=print"\ec",@m=map{s#\ec##;split//}<>;{$v{$p=$r||50}=1;@a=grep!$v{$_}& $_>0&$_<767,$m[$p-2]eq _?$p-2:0,$m[$p]eq _?$p+2:0,$m[$p-1]ne _?$p+48:0,$ m[$p-49]ne _?$p-48:0;select$q,$q,$q,.1;printf"\e[%d;%dH",1+$p/48,$p%48;$ p>765?exit:1;$r=!@a?pop@v:$a[@a*rand];push@v,$p if@a;redo}