Advent of Code 2023: ChatGPT-4 turbo edition

CiudadanoEj

yo nose si he tenido mala suerte con los numeros o que pero a mi me tardan ma de 15 min haciendolo a bruteforce xD

spoiler

mi input:
Time: 59 79 65 75
Distance: 597 1234 1032 1328

2 respuestas
sergioRG

#181 mete todo el código en una función y llámala.

Si mal no recuerdo el intérprete de Python interpreta a saco todo lo que está en el scope más externo, pero precompila las funciones a bytecode.

También creo recordar que el map interno de la memoria (donde está cada variable, qué contiene etc) está implementado distinto para ambos casos.

Lo he probado con tu código y termina bastante rápido.

1 1 respuesta
PiradoIV

#181 A fuerza bruta me tarda unos 10s con tu input, en Xojo.

1 respuesta
CiudadanoEj

#182 #183 seee no me tarda tanto tenia una parte de codigo de prueba que lo estaba ralentizando todo mb

1
R

Me ha resultado sencillo el de hoy aunque hay conceptos que visualizo pero no se explicar matematicamente xD si alguien sabe darles cuerpo se lo agradecere.

conceptos
C# Day6 1 star
C# Day6 2 star

Ayer estuve trabado un buen rato, primero intenté recorrer el mapeo al reves desde el destino mas bajo buscando si habia seed valida pero no lo conseguí.
Cuando desistí y decidí hacerlo con fuerza bruta estuve contestando con la seed en vez del destination :weary:

Salgo de puente así que mi idea es intentar hacer pseudocodigo en los ratos libres y intentar resolverlos a la vuelta.

draz1c

El de hoy estaba tirado no? Se han flipado mucho ayer y el día 3. De hecho ya me estaba temiendo al ver la segunda parte que iba a ser un marronazo como lo de ayer que tardaría mucho en ejecutarse y cuando he visto que he sacado el resultado en 1 segundo he pensado bah, estará mal calculado pero voy a meterlo y darle a submit por si suena la flauta y efectivamente era correcto :psyduck:

1 respuesta
PiradoIV

#186 El de hoy hubiera molado que fuese más complejo de sacar a fuerza bruta, sabiendo que ya tienes el resultado da pereza ponerte a optimizarlo xD

byJoTaeFe

Aún me falta el 3 que le daré un try esta tarde, me rayó bastante.

La Parte 2 del 5 me tardó una barbaridad igual, pero algo es algo.
El 6 demasiado fácil comparado con el resto

JS - Dia 04
JS - Dia 05
JS - Dia 06
Frankicia

Como me gusta pasar tiempo debuggando para que al final sea que el numerito no me entraban en 32 bits :ok_hand::ok_hand::ok_hand::ok_hand:

1
Flashk

Me ocupó más el código del parseo que lo que es luego la solución del problema xD

Day 6
R

Bueno la parte 2 del dia 5 se me complicó un poco, mas que nada por pasar de largo uno de las opciones que tenia para solucionarlo, buscando algo mas sencillo de implementar, pero al final me ha tocado volver xD

edit: Bueno, el dia 6 lo he visto bastante mejor que el 5. Solucion en O(1) para las dos partes

Enfoque dia 5
Enfoque dia 6
Dia 5 parte 1
Dia 5 parte 2
Dia 6 parte 1 [O(1) en tiempo]
Dia 6 parte 2 [O(1) en tiempo]
byJoTaeFe

Al fin consigo terminar el 3, menudo puto sufrimiento.

JS - Dia 03
Mandarino

Dia 7
La primera parte me ha ido bien, pero en la segunda ..

spoiler
R

Bueno pues dia 7

Enfoque
Dia 7 parte 1
Dia 7 parte 2
1
sergioRG

Dia 7 parte 1

spoiler

Parte 2, que cerdada lo de las Js xD

spoiler
Frankicia

Dia 7 - C++

Parte 2 a base de bruteforce :innocent:

spoiler
R

Ya se acerca el finde, se vendrán problemas más difíciles, aunque a mí el 5 ya se me complicó un poco xD

Mezdelex

Me quería pegar con la implementación de la ordenación en Rust y cosillas orientadas a objetos y ha estado interesante. Voy a ver si lo puedo optimizar, pero tampoco me voy a calentar mucho que no me pagan por esto xD

EDIT: Pequeño refactor para toda la morralla del part2

Día 07 Parte1 + Parte2 [Rust]
Flashk
Day 7
Mandarino

Me he leido solo el enunciado del Day8 y pinta interesante. Me pregunto como será la parte2 para hacerlo un proceso lento...
Voy a ello a ver !

sergioRG

Dia 8 parte 1, la parte 2 no es dificil pero es un poco palo de implementar

spoiler

Parte 2, siendo francos he bruteforceado el num de ciclos sobre una longitud total porque el tamaño max / longitud avg del ciclo lo permitía. Podría haber hecho una diofántica o un LCM como una persona normal pero también podía dejarlo corriendo mientras me iba a cagar xD

spoiler
Mandarino

Parte 1 entretenida

Parte 2

spoiler
Frankicia

Lo de numeros grandes y enunciados a medias habria que discutirlo. Puedo entender los numeros grandes para "evitar" bruteforces. Pero el de hoy se oculta informacion de como es el input.
Cuando miras el input te das cuenta que puedes usar matematicas.

Le jour 8 - C++

spoiler
1 respuesta
Mandarino

#203 Bueno eso ya se ha visto en otras ediciones, que hay un poco de analisis de datos. Para el que este sea su primer año y no conozca AoC (o no lo recuerde) pues le va a pasar como a nosotros xD. A mi me parece interesante que incluya esta parte a veces para hacerlo un poco diferente al tipico problema bien definido+resolver caso generico.

Mezdelex

Otra vez me la he comío xD Las he pasado putas para poner todos los borrows y mutable references en orden para la recursividad (qué locura de lenguaje Hulio) y al final me he comido un pene con el overflow. Para la parte 2 lo mismo; He tenido que tirar de un poco de ayudita porque lo había hecho a lo Berserker con 8 de inteligencia.

Día 08 Parte1 + Parte2 [Rust]
Flashk
Día 08
Mandarino

Día 9

spoiler
sergioRG

Parte 2 dia 9, la parte 1 es casi identica

spoiler
Frankicia

Un poco de recursividad para empezar el dia 9 - C++

spoiler
draz1c

Los que lo hicisteis por bruteforce la parte 2 de ayer cuanto tiempo os tardó en ejecutar? Porque para el input de ejemplo que ponen me sale el resultado correcto, pero al menterle el input gordo lleva ahi facilmente 2 minutos ejecutandose y no me termina de dar un resultado. Asi que quiero saber si es algo que una cpu lo podria calcular en apenas unos segundos y si tengo que pararlo porque tengo algo mal en el codigo o si dejarlo ejecutandose mas tiempo :thinking:

1 respuesta

Usuarios habituales