cafe_misc
Thread Id: 27393
Thread Name: Reto de "sumas"
#0
eing 12479
Hola a todos, coloco este reto para ver si alguien lo consigue adivinar.
Yo no lo he conseguido..

El caso es el siguiente:

Tenemos 3 posiciones:

Posicion 0: valor "X" (puede tener 4 valores maximos distintos, de 0 a ff)
Posicion 1: valor "X" (puede tener 4 valores maximos distintos de 0-ff)
Posicion 2: valor "x"(puede teber 3 valores maximos distintos de 0-ff)

Y bueno, el reto esta en que por cada combinacion de numeros posibles (4*4*3= 48 posibilidades distintas) al sumar los 3 valores nuca se repita el resultado.

¿Dificil eh? He probado muchas combinaciones, y nada de nada xD

X ejemplo probe:
Pos 0: 0,1,2
Pos 1: 3,4,5
Pos 2: 6,7,8

Como veis al sumar esas cifras se repetira alguna.(x ejemplo 8+4+0 = 12 al igual que 6+4+2=12) por lo tanto ya combinacion de nimeros no vale.

Un saludo y a ver esas mentes prodijiosas!!
#1
cosarara97 12296
No acabo de entender las instrucciones.
¿Qué son exactamente estas posiciones? ¿Cual es exactamente la condición?
Quizá me fallan las habilidades de comprensión, pero creo que no seré el único que no consigue entender el problema.
#2
Cheve_X 15014
Por lo que entiendo es poner 4, 4, y 3 numeros distintos y que no haya forma de que sumandolos te dé dos veces un mismo numero; personalmente pienso que si es asi, es imposible.
#3
eing 12479
Explicare mejor el concepto:

Posibilidades:
Normal = valor
Bosque = valor
Agua = valor
Montaña = valor

Invierno = valor
Primavera = valor
Verano = valor
Otoño = valor

Mañana = valor
Dia = valor
Noche = valor

La estructura de los pokemon seria: [ruta][estacion][etapa_dia].
Estas se les asigna un valor para saber en que momento estamos.
Y se suman los tres para saber que offset cargar. (Gracias a dicha suma permite saber la combinacion de tipos que hay, pero si esta da resuktados iguales estamos jodidos xD)

En realidad es ese el ejemplo real..
#4
cosarara97 12296
Bueno, si las sumas son de 3 números, uno de cada posición, estos ejemplos harían (creo, los he generado automaticamente):
[18, 132, 226, 87] [80, 246, 46, 151] [99, 199, 23]
[50, 98, 217, 74] [207, 67, 192, 150] [1, 229, 242]
[45, 52, 115, 234] [134, 118, 252, 194] [111, 79, 90]

PD: El código, python:


import random
def test(a, b, c):
done = []
for i1 in a:
for i2 in b:
for i3 in c:
r = i1 + i2 + i3
if r in done:
return False
done.append(r)
return done

while True:
a = [int(random.random()*0xFF) for i in range(4)]
b = [int(random.random()*0xFF) for i in range(4)]
c = [int(random.random()*0xFF) for i in range(3)]
if test(a, b, c):
print(a, b, c)
break