#58 Te refieres a la parte 2 o al segundo día? Yo me refiero a la segunda parte del primer día
#62 Ostias que me he liado, sí, a ese me refería.
La idea es que si cambias el input inicial en las posiciones 1 y 2 por 12 y 2, obtienes un resultado Z (el que tienes que averiguar en el primer ejercicio). En el segundo lo que tienes que hacer es encontrar qué números X e Y cumplen que si cambias la posición 1 por X y la 2 por Y, el resultado es 19690720. Cuando tengas eso, tienes que devolver 100*X+Y como resultado del ejercicio 2.
#64 Voy por la segunda parte del 3 en kotlin. Me dan bien los tests pero me falla el input. No sé si he entendido mal el problema o algo. Hay super pocos tests la verdad, normalmente hay 20 casos minimo xd
no me queda claro si lo estoy haciendo mal por un edge case que no te explican, que pasa si el cable vuelve hacia atras? los steps son el camino más corto? entiendo que no.
edit: The number of steps a wire takes is the total number of grid squares the wire has entered to get to that location.
Vaya mierda texto y explicacion.
#69 Eso me pasó a mi por el motivo más simple del mundo. No estaba contestando lo que me pedían. No en ese, en otro día, pero comprueba xD
#70 Eso me pasó un par de veces, de copiar el número mal y así xD
Pero en este creo que estoy calculando y metiendo lo que es
Obviamente no lo estaba haciendo xD
#71 Ejercicio 4, me falla por 2 numeros wtf
edit ayy nvm nse porque falla la verdad, lo he hecho en codigo lo he pasado a csp y no funca
El x0 == x1 or x1 == x2 esta mal. no entiendo
#72 Así a primera vista el modelo parece válido, nunca utilicé ortools para CP también te lo digo, igual hay algo ahí
#72 Te llamas John?
https://stackoverflow.com/questions/58429875/how-to-plot-intermediate-solutions-of-or-tools-with-plotly xddddddddddddd
#74 xddd el código es el de la guia de or-tools https://developers.google.com/optimization/cp/cp_solver
#73 Yo tampoco lo he usado nunca, solo conozco z3
Edit ya tengo la primera parte:
Esto de hacer implicaciones forzadas pensaba que era solo para añadir redundancia xd vaya mierda csp xd
Joder llevo todo este rato entendiendo mal el 7.2. Es posible que tenga que cambiar mil cosas porque claro, no pensaba en cortar programas a mitad de ejecución, y el bucle este me hace todo el lío. Estoy pensando en tener 1 solo amplificador y hacer cambios de contexto xD
Primero voy a cenar, ya mañana
Día 9. El refactor me ha quedado cojonudo, aunque me guste la verbosidad de cara a usarlo en el futuro:
Días 2, 5, 7 y 9 son el ejemplo de los exámenes tipo "Usando la respuesta del ejercicio anterior, ...".
Como tenía que ponerme con el 7.2 me calente y me monté una CPU que, espero, sobrevivirá de mejor manera a los refactors de los siguientes días. Tiene su sistema de entrada salida, su unidad de control, su scheduler, capacidad de cambio de contexto y debería ser fácil meterle un sistema de memoria.
El código es lo que hay, está hecho sin IDE al toque, bastante que funciona xD
https://github.com/Fynardo/AoC2k19
(carpeta common)
P.D Los días 2 y 5 no funcionan tras el cambio, es fácil de arreglar pero no me apetece ahora mismo
Día 1 (he hecho la parte 2 añadiendo código en lugar de modificándolo):
El día 2 lo tengo pero aún quiero tocarlo un poco. No creo que haga el advent completo, lo estoy haciendo en el trabajo cuando no tengo nada que hacer xD.
#79 Te has rallao mucho o el problema lo requiere? Ni he leído los problemas, quiero guardarmelo para navidades xD
#81 50/50
Me hacia gracia hacer un PC "funcional" Pero es cierto que hay ciertos problemas en los que vas a necesitar refactorizar cosas si o si (al menos por aquí creo que nos ha pasado a todos) , así que aprovechó xd
Voy recuperando, acabé el 7 e hice el 8, este último estuvo bastante simpático.
A ver si por la tarde hago el 9
Podéis apuntarme soy el anon #821227
Lo estoy sacando en ruby, y de paso aprendiéndolo que es un lenguaje divertido y con el que nunca pasé del hello world.
Me tiro como 4 horas por ejercicio porque estoy más rato en la documentación que en otro lado
Mención especial a este tío: http://seamusabshere.github.io/2014/02/25/ruby-array-include-is-slow/ que ha hecho que el programa de las intersecciones de los cables pase de ejecutarse en decenas de minutos a 2 segundos.
#87 Esa es parte de la gracia, la mayoría de días no deberían tardar en ejecutarse más de medio segundo en un lenguaje interpretado (en uno compilado ni media décima) con los inputs que te dan. Cuando te tarda más de eso, algún problema hay (ya sea algún algoritmo que no escala bien y que se use repetidamente, o algo del lenguaje que tarda más que otras opciones como bien pone en ese enlace).
¿Alguien ha hecho el día 11? El resultado queda bastante chulo:
HIce el 9 ahora, ez con mi super CPU xD
El 10 parte 1 se hacerlo, a ver si luego por la tarde tengo un rato y sigo recuperando días xD
No para de darme un numero incorrecto la parte 2 del ejercicio 4. Y ya no sé qué hacer.
Me he inventado todos estos unit tests además de los 3 que te da el ejercicio, para ver si encuentro algo, pero los paso todos y sin embargo el resultado me pone que está mal. Para el cálculo final niego el método, claro.
Hay algún edge case extraño que debería probar y que no se me ocurra?
pd: Creo que debo entender mal el enunciado. Releyéndolo, ¿puede ser que me pidan que el grupo repetido únicamente sea una pareja y no un trío o más?
pd2: Efectivamente, era esa mierda.
That's the right answer! You are one gold star closer to rescuing Santa.