UnDomain Un friki suelto por la red

solucion


Algoritmos humanos: Solución

Hace unos días/semanas planteé un acertijo, llamado Algoritmos humanos, que me pasaron por una lista de correo. Hace poco me he acordado de que no he puesto la solución, así que aquí viene.

Si no lo has leído antes, échale un ojo aquí.

Antes de nada, decir que me la solución me parece un poco timo. Especialmente porque el enunciado me parece poco claro o no bien planteado. Pero como no es cosa mía, las quejas al autor. Yo me lavo las manos.



Para empezar, la condición es saber si han pasado todas las personas por la sala como mínimo una vez. No importa si cuando se diga han pasado 800 veces, pero si que se ha de poder asegurar.

Para esto, se decide que una de esas personas será el contador. Se ha de tener presente que el interruptor será la única cosa que se puede "modificar".

La secuencia seria la siguiente:

1.- Se decide que el interruptor hacia arriba es ON y hacia abajo será OFF.

2.- Cada vez que alguien sea llamado a la sala y el interruptor esté en OFF, lo pondrá a ON solo una vez.
Es decir, si cuando llega el interruptor está a ON, no hará nada.
Si cuando llega el interruptor está a OFF y es la primera vez que ve el interruptor en OFF, lo pondrá a ON.
Si cuando llega el interruptor está en OFF, pero en otra visita ya lo ha puesto a ON, lo dejará en OFF.

3.- Cada vez que el contador pase por la sala hará lo siguiente:
Si es la primera vez que viene a la sala, asumirá el valor 1.
Si el interruptor está en ON, sumará 1 a su valor y pondrá el interruptor a OFF.
Si el interruptor está en OFF, no hará nada y mantendrá su valor.

En el momento en el que el contador llegue a 100, sabrá que todos los demás han pasado como mínimo una vez por la sala y podrá avisar a los organizadores.



¿Que os parece?

Distribuir contenido

Afiliados:


I Love Your Blog

Otorgado por:Darlantan

Inicio de sesión


Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system