elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ayuda con ejercicio - Algoritmo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con ejercicio - Algoritmo  (Leído 1,731 veces)
_RaSH_

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Ayuda con ejercicio - Algoritmo
« en: 28 Mayo 2016, 19:51 pm »

Buenas, me invitaron a unirme a un sitio web de busquedas laborales para programadores.
La cosa es que para poder ingresar te dan a resolver un ejercicio. el cual plantea lo siguiente:

Citar
El instituto geográfico nacional se encarga de, periódicamente, tomar fotografías aéreas para detectar cambios en el relieve terrestre. Para agilizar esta tarea desean tener una herramienta que, dada una imagen, pueda detectar los bordes de las montañas. Las imágenes son representadas con matrices de números enteros que representan la altura sobre el nivel del mar en metros en una posición determinada. Consideraremos a un estrato como a un conjunto conexo de posiciones de la matriz con misma altura. Para que una parte de la imágen se considere el borde de una montaña debe ser un estrato mínimo local. Esto quiere decir que es un estrato y que no posee ningún estrato vecino con altura menor. Diseñar un algoritmo que, dada una matriz, devuelva otra matriz con 0 en todas sus posiciones excepto en los bordes de las montañas que encuentre.

Mas abajo hay una consola para resolver el ejercicio:

Código
  1. <?php
  2. // Para testear tu código en nuestros servidores debes mantener la estructura expuesta abajo.
  3. // Eres libre de crear nuevas funciones/procedimientos.
  4. // Recuerda que el código que escribas podrá ser visto por las empresas a las que te postules.
  5. ?>
  6. <?php
  7. // $relieve = [[8, 9, 2, 2, 3, 5], [9, 8, 3, 2, 4, 5], [9, 7, 2, 2, 4, 3], [9, 9, 2, 4, 4, 3], [9, 2, 3, 4, 3, 5]];
  8. // Representación gráfica
  9. // 8 9 2 2 3 5  
  10. // 9 8 3 2 4 5  
  11. // 9 7 2 2 4 3  
  12. // 9 9 2 4 4 3  
  13. // 9 2 3 4 3 5
  14. function encontrar_bordes($relieve){
  15.  // return [[1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 1, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 1, 0, 0, 1, 0 ]];
  16. }
  17. ?>

Entiendo que existe un algoritmo llamado "de Floyd-warshall" segun wikipedia:
Citar
En informática, el algoritmo de Floyd-Warshall, descrito en 1959 por Bernard Roy, es un algoritmo de análisis sobre grafos para encontrar el camino mínimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de vértices en una única ejecución. El algoritmo de Floyd-Warshall es un ejemplo de programación dinámica.

Aclaro que para nada quiero que me den la respuesta o me resuelvan el ejercicio. Asi se pierde el chiste jaja, pero si me gustaria entender, la verdad estoy perdido. No entiendo como deberia recorrer la matriz para poder comparar esos puntos. Veo que es simple, entiendo que deberia poder resolverse con poco codigo, por eso es un algoritmo, pero me mato pensando y no se me ocurre nada

saludos


« Última modificación: 28 Mayo 2016, 20:05 pm por _RaSH_ » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dime el algoritmo que más te gusta... ejm:algoritmo del avestruz
Programación General
jhonatanAsm 0 4,473 Último mensaje 13 Mayo 2011, 01:30 am
por jhonatanAsm
Algoritmo para un ejercicio; ¿Doble dijkstra?
Programación General
astinx 2 3,459 Último mensaje 16 Febrero 2012, 19:27 pm
por astinx
Ejercicio Algoritmo
Ejercicios
kichilo 0 2,671 Último mensaje 5 Noviembre 2012, 05:13 am
por kichilo
Ayuda con ejercicio de Algoritmo.
Programación C/C++
cEBH1994 6 4,553 Último mensaje 5 Junio 2017, 00:29 am
por cEBH1994
Ejercicio de Algoritmo
Dudas Generales
Tito_2017 3 2,046 Último mensaje 16 Agosto 2017, 18:28 pm
por PalitroqueZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines