<?php
$map = ' \\
/ /
/ /
/ \\
\\ \\
/ \\
/\\
\\/
\\ /
\\ \\
\\ \\
\\ \\
/ /';
echo( r($map)['s']);
function r($m){
$z=strpos($m,"/\\");
$z-=strrpos(substr($m,0,$z),"\n");
$ls=explode("\n",$m);$i=0;
foreach($ls as $l){
$y=$i<count($ls)/2?0:1;
foreach([0,1] as $x){
$s = substr($l,$x?($z-1):0,$x?$z*$z:$z);
$a[$y+$x+($y?2:1)][] = strpos($s,"/")?"/":(strpos($s,"\\")?"\\":"");
}
$i++;
}
$n=1;
foreach($a as $k=>$p){
$t=$p[$k<3?count($p)-1:0];
$s=0;$x=0;$b[$k]['s']='';
for($j=count($p)-1;$j>=0;$j--){
if($p[$j]){
$b[$k]['s'] .= strpad("",$j," ").($p[$j] === $t ? '/' : '_')."\n";
$s+=$p[$j]==$t?1:0;
$x++;
}
}
$b[$k]['t']=$s/$x;
$n=$b[$k]['t']<$b[$n]['t']?$k:$n;
}
return $b[$n];
}
preferences:
46.16 ms | 402 KiB | 5 Q