diff options
Diffstat (limited to 'src/quine-puzzle.php')
| -rw-r--r-- | src/quine-puzzle.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/quine-puzzle.php b/src/quine-puzzle.php new file mode 100644 index 0000000..996624f --- /dev/null +++ b/src/quine-puzzle.php @@ -0,0 +1,50 @@ +<?php $z='bcdefghia';eval($s=strtr('$M="array_map";$S="st +r_split";$C="chr";$zp=strpos($z,"a");[$dx,$dy]=match($arg +v[1 ]?? nul l){ +"h" =>[ 1,0 ]," +j"= >[0 ,-1 ],"k"=>[0 ,1] ,"l"=>[-1 ,0] +,de fau lt= >[0,0],}; $zx =$zp%3;$z y=i +ntd iv( $zp ,3) ;$s x=$ zx+ +$dx ;$s y=$ zy+ $dy ;if ($s +x<0 ||2 <$s x)$sx=$zx ;if ($sy<0||2 <$s +y)$ sy= $zy ;$sp=$sy* 3+$ sx;[$z[$s p], +$z[ $zp ]]= [$z [$z p], $z[ +$sp ]]; ech o(" <?p hp" .$C +(32 ).$ C(3 6)."z=".$ C(3 9).$z.$C( 39) +."; eva l(" .$C(36)." s=s trtr(".$C (39 +)); $n= $M( $S, +$S( "00 000 111 +1141424414143341142414424344111143434",5));$m=$M($S,$S("0 +00001100101111",3));$i=(new("ArrayObject")($S($s."//".$s, +))) ->g etI ter +ato r() ;$B =fn +($_ =1) =>$ M(f n()=>prin t([ $i->curre nt( +),$ i-> nex t() ][0]),ran ge( 1,$_*3)); $W= +fn( $_= 1)= >pr int (st r_r epe +at( $C( 32) ,$_ *3) );$ N=f n() +=>p rint($C(1 0)) ;$B(7);$N (); for($y=0; $y< +3;$ y++){$B(1 9); $N();$B() ;$W (5);$B(); $W( +5); $B( );$ W(5 );$ B() ;$N (); +$B( );$ W(5 );$ B() ;$W (5) ;$B +(); $W( 5); $B();$N() ;fo r($l=0;$l <10 +;$l ++) {$B ();for($x =0; $x<3;$x++ ){$ +W(1 );$ M(f n($ +_)= >$_ ?$B (): +$W(),$m[$n[$M("ord",$S($z))[$y*3+$x]-97][intdiv($l,2)]]); +$W(1);$B();}$N();}$B();$W(5);$B();$W(5);$B();$W(5);$B();$ +N() ;$B (); $W( +5); $B( );$ W(5 +);$ B();$W(5) ;$B ();$N();$ B(1 9); +$N( );}$B(9); ech o($C(39). ",[ $C( +32) =>" .$C (34 ).$ C(3 4). +",$ C(1 0)= >". $C( 34) .$C +(34 )." ])) ;");//$M= "ar ray +_ma p"; $S= "str_spli t"; $C= +"ch r"; $zp =st rpo s($ z," +a") ;[$ dx, $dy ]=m atc h($ +arg v[1 ]?? null){"h" =>[ 1,0 +]," j"= >[0 ,-1],"k"= >[0 ,1] +,"l "=> [-1 ,0] +,de fau lt= >[0 +,0],};$zx=$zp%3;$zy=intdiv($zp,3);$sx=$zx+$dx;$sy=$zy+//$ +M="array_map";$S="str_split',[chr(32)=>"",chr(10)=>""]));
\ No newline at end of file |
