«Se tiene un plano (imagínese como un cuaderno cuadriculado), en donde cada cuadrito tiene su coordenada. Allí se colocarán 3 islas y 5 animales marinos en diferentes cuadritos. Uno está en un submarino en alguna coordenada. Al elevar el periscopio se puede ver hacia el norte, sur, este, oeste. Problema: Cuente cuántos animales se ven desde su posición. Nota: si hay una isla entre Ud. y el animal, no podrá ver los animales detrás de ella porque la isla los oculta. Se dan las coordenadas del submarino, las islas y los animales. NO SE PUEDEN USAR ARREGLOS, HASHES NI REFERENCIAS SIMBÓLICAS.»
Ejemplos de llamada:
Using bash Syntax Highlighting
$
# SxSyI1I1I2I2I3I3A1A1A2A2A3A3A4A4A5A5
$ .
/submarino.pl
4 4 2 3 6 4 5 6 4 2 6 2 8 4 5 5 4 7
2Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Caso extremo:
Using bash Syntax Highlighting
$ .
/submarino.pl
5 5 5 3 2 5 7 5 5 2 1 5 3 5 6 5 5 7
3Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
(Nota: es un ejemplo de llamada, se puede programar otra forma de entrar los datos).
El único arreglo del que se puede leer es @ARGV, pero solo para inicializar variables escalares donde se almacenarán los valores leídos.
Objetivo: encontrar la solución más corta. Encontrar una solución que pueda ser ampliable a 5 islas y 20 animales.
Fuente original: UNIVERSIDAD CENTRAL DE VENEZUELA, FACULTAD DE CIENCIAS, ESCUELA DE COMPUTACIÓN, ALGORITMOS Y PROGRAMACIÓN,
PROYECTO #1 (pdf)