Advent of Code 2023: ChatGPT-4 turbo edition

S

#210 Si lo haces a brute force sobre el número de pasos olvídate, si lo haces a brute force sobre el número de ciclos tarda pero termina.

1 respuesta
draz1c

#211 Vale, me olvido :sweat_smile::sweat_smile::sweat_smile: Estoy leyendo en reddit y dicen que la solucion puede tardar mas de un dia con lo de los pasos.

edit: bueno he hecho ahora un pequeño cambio en el codigo, en vez de contar los steps saco el numero de ciclos y lo multiplico por la longitud de instrucciones (LRLRRRL). Haciendolo asi en el input pequeño tambien me sale el mismo resultado, veamos si con el input grande saco algo.

@sergioRG De cuanto tiempo estaríamos hablando asi aproximadamente? 5 minutos? 1 hora?

Flashk
Day 09
Mezdelex

Descubrí la biblioteca esta para correr los iterators en paralelo y es una salvajada lo que mejoran los procesos. Ahora se lo estoy metiendo a todo xD

Día09 Parte 1 + Parte 2 [Rust]
1 respuesta
draz1c

#214 No se ve lo que has puesto en el segundo spoiler, creo que la imagen es privada y solo puedes verla tu (private-user-images.githubusercontent.com...)

1 1 respuesta
Mezdelex

#215 Hm... ¿la estás viendo desde el móvil? Parece ser que es algo del encoding del nombre para móvil. Vamos viene a ser que tiran los tests en 470ms xD

1 respuesta
draz1c

#216 He probado en movil y navegador de escritorio. Prueba a ver tu post en modo incognito a ver si tu lo puedes ver.

1 respuesta
Mezdelex

#217 Pues no te falta razón. Voy a echarle un ojete.

R

Vaya al de hoy le estaba buscando la forma de optimizarlo, pero la solucion directa, segun esta explicada en el enunciado, tarda poco en ejecutarse

PiradoIV

Para los que le estéis dando a JavaScript y queráis hacer movidas a fuerza bruta, hay gente usando GPU.js y pueden sacar el 5 part 2 en apenas unos segundos xDDD

S

Dia 10 parte 1

spoiler

Edit: si consigo resscribir la parte 2 que no de cancer al verla la pongo

Mandarino

El de hoy Dia 10 me ha gustado mucho

Parte 1

Por si alguien no consigue solucionar parte 2, aqui una pista para inspirarse

Parte 2
1 respuesta
Flashk

#222

Parte 2 sobre la pista
2 respuestas
Mandarino

#223

spoiler
1 respuesta
Mezdelex

Uno que se baja del carro xD Mi idea feliz era tirar de recursividad y que cada bifurcación se resolviera "sola" al no dar con el path viable y sólo llegase el path viable al encontrarse con 'S', que sería el retorno, pero peta ya en el ejemplo así que... igualmente cambiar al enfoque iterativo ahora y usar dfs + VecDeque para llevar el offset de los pasos al visitar los path fallidos me costaría un te quiero.

Dejo lo que pudo ser y no fue
Frankicia

#223

spoiler
1 respuesta
Flashk

Gracias a #224 y gracias por la explicación ampliada y el dibujo #226 !

Me tomaré un descansito para enfriar el cerebro y volveré a darle una vuelta a ver como puedo adaptar mi código para meter todo esto.

Edit: Resuelto! Al final no me he tomado el descanso, estaba viendo la solución a la vista.

Day 10

Bonita fumada.

2
S

D11, he intentando minimizar las lineas de codigo, comprobar las columnas y filas que vas dejando detras se puede hacer apuntando al elemento que toca cada vez e ir subiendo el indice pero no queria complicarme mas

spoiler
Mandarino

Dia 11

spoiler
1 respuesta
Mandarino

Llevaba unos meses practicando problemas en leetcode (binary search, dynamic programming, graphs, ..), cosa que me ha servido muchisimo para el problema de hoy.

Una cosa que veo en paginas de problemas es que ponen Hints/Pistas para que aunque se te encalle el problema, puedas obtener una pista para almenos seguir con algo. En esta voy a dar un par por si alguien le va bien

Dia 12

Pista para quien se le complique (parte 1)
Pista 2 (parte 1)

Y mis comentarios sobre la solucion de cada parte:

Parte1
Parte2
1 respuesta
S

Me ha quedado un espagueti horrible, a ver si lo mejoro. Es la parte 2, pero cambiando las listas replicadas por las originales tienes la parte 1

spoiler

#230

spoiler
1 respuesta
PiradoIV

#229 Me pasó lo mismo en la segunda parte del 11 xDD

1
Mandarino

#231

spoiler
Mandarino

Dia 13
Por como era el input del problema (...##.##) pensaba que estaba mirando el enunciado del dia anterior xD

spoiler
1 respuesta
Flashk

El del día 12 lo tengo que rehacer, ya que hice un acercamiento demasiado naive en la primera parte y luego me atasqué buscando alguna forma de trabajar con conjuntos o algo así.

Día 13
Frankicia

#234

spoiler
2 respuestas
Flashk

#236 Diría que

spoiler
Mandarino

#236

spoiler
1
Frankicia

Dia 13: me estoy pasando en la cuenta de la parte 1. Y ni idea de por que.
Leo en Reddit que dicen que o hay un reflejo en el vertical o en el horizontal, pero yo tengo este input:

####...
##.#...
####...
.#.#...
##.####
##.##..
#####..
##.#.##
.##....
.##.###
##..#..
#..####
#...#..

Y tiene reflejo en horizontal: lineas 0-2
y en vertical: columnas 5-6

Que me estoy perdiendo? El enunciado me lleva loco :pensive:

Edit: vale, un reflejo tiene que reflejarse entero. En mi ejemplo el horizontal no vale porque hay una linea que no se refleja (la linea 1).

1 respuesta
S

Me estoy centrando en intentar emplear la recursividad lo menos posible y escribirlo todo usando funciones que me permitan evitarla (sale regular).
Me da que voy a hacer la parte 2 a fuerza bruta, la verdad.

spoiler
spoiler



Para la parte 2 he añadido simplemente esto

spoiler

Usuarios habituales