Advent of Code 2019 (24 ejercicios de programación por adviento!)

CarlosML27

#58 Te refieres a la parte 2 o al segundo día? Yo me refiero a la segunda parte del primer día

1 respuesta
B

#61 Segunda del segundo. El primer día si lo hice fácil las dos partes.

1 respuesta
CarlosML27

#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.

Wei-Yu

desu menudo hijo de puta aún no has pasado de los dos primeros xddddd

1 respuesta
GuaNaGe

¿Alguna forma de ver el output de cada día para poder comprobar con el mío?

Gracias!

1 respuesta
desu

#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.

Unrack

#65 Le introduces y te dirá que es incorrecto hehe.

1 respuesta
GuaNaGe

#67 Me acabo de dar cuenta wuajajja, gracias de todos modos. vaya retard estoy echo.

Fyn4r

Me puse con el 7, los test me dan perfect pero el input "real" me falla :_

1 respuesta
B

#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

1 respuesta
Fyn4r

#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

1 respuesta
desu

#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

NSFW
2 respuestas
Fyn4r

#72 Así a primera vista el modelo parece válido, nunca utilicé ortools para CP también te lo digo, igual hay algo ahí

1 respuesta
Lecherito

#72 Te llamas John?

https://stackoverflow.com/questions/58429875/how-to-plot-intermediate-solutions-of-or-tools-with-plotly xddddddddddddd

1 respuesta
desu

#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:

NSFW

Esto de hacer implicaciones forzadas pensaba que era solo para añadir redundancia xd vaya mierda csp xd

Fyn4r

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

HeXaN

Entre mazmorra y mazmorra del WoW.

Día 1:

spoiler
B

Día 9. El refactor me ha quedado cojonudo, aunque me guste la verbosidad de cara a usarlo en el futuro:

NSFW

Días 2, 5, 7 y 9 son el ejemplo de los exámenes tipo "Usando la respuesta del ejercicio anterior, ...".

Fyn4r

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

1 1 respuesta
autlos

Día 1 (he hecho la parte 2 añadiendo código en lugar de modificándolo):

NSFW

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.

1 respuesta
eondev

#79 Te has rallao mucho o el problema lo requiere? Ni he leído los problemas, quiero guardarmelo para navidades xD

1 respuesta
Fyn4r

#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

Unrack

30 min en el día 10 por no estar considerando direcciones "infinitas" :D

brew

vaya lio me he hecho al final al nombrar variables jaja

Con js :)

NSFW
AmparoJorl

.

Fyn4r

Voy recuperando, acabé el 7 e hice el 8, este último estuvo bastante simpático.

A ver si por la tarde hago el 9

NeV3rKilL

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 :sweat_smile:

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.

1 respuesta
B

#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:

NSFW
1 respuesta
Fyn4r

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

NeV3rKilL

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?

spoiler

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.

1 respuesta

Usuarios habituales