$i_end){ $i_start += 2; // hacia arriba if($j_end <= $j_start){ $j_start--; //izquierda UL $resultado .= "UL "; }else{ $j_start++; //derecha UR $resultado .= "UR "; } }else{ $i_start -= 2; //hacia abajo if($j_start <= $j_end){ $j_start++; //Derecha LR $resultado .= "LR "; }else{ $j_start--; //Izquierda LL $resultado .= "LL "; } } } $movimientos_h = abs($j_end - $j_start)/2; for($j=0; $j<$movimientos_h;$j++){ //movimientos horizontales if($j_start<$j_end){ $j_start+=2; //derecha R $resultado .= "R "; }else{ $j_start-=2; //derecha L $resultado .= "L "; } } print_r($movimientos_h+$movimientos_v); print_r("\n"); print_r($resultado); }else{ print_r("Impossible"); } } fscanf($handle, "%i",$n); fscanf($handle, "%i %i %i %i", $i_start, $j_start, $i_end, $j_end); printShortestPath($n, $i_start, $j_start, $i_end, $j_end); ?>