Advent of Code 2021 Vorige deel Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 13 ... 16 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 21:17

Dricus

ils sont fous, ces tweakers

Dag 17 in Clojure

Man man man, vanochtend zat ik véél te ingewikkeld te denken. Ik kwam er gewoon niet uit. Toen heb ik het maar even laten liggen en het vanmiddag weer opgepakt. Uiteraard bleek het eigenlijk toch wel simpel te zijn. Na wat refactoring is het algoritme voor het verzamelen van de velocities nu maar 6 regels lang.

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...


Acties:
  • 0 Henk 'm!

  • tarlitz
  • Registratie: Maart 2010
  • Niet online
Leuke opdracht vandaag! Weer wat meer van mijn niveau na een aantal frustrerende dagen 😁

Ik had ook m'n ranges veel te groot (x velocity negatief 🙄), maar was verder goed te brute forcen. Deel 2 was wel érg makkelijk.

Acties:
  • 0 Henk 'm!

  • Lisper
  • Registratie: September 2015
  • Laatst online: 05-09 20:26
Vandaag eindelijk tijd (en motivatie) gevonden voor dag dag 16, en dag 17 er meteen achteraan gedaan.

Dag 16 was wel even pielen, ik dacht eerst dat het puur met iterators kon maar moest het toch anders aanpakken. Ik hoop dat BITS nog terug komt in latere opdrachten, net als Intcode in 2019.
Dag 17 gebruteforced, het zal vast efficienter kunnen, maar het was snel genoeg zo.

Acties:
  • +1 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
Cranzai schreef op donderdag 16 december 2021 @ 22:36:
Lang genoeg gepuzzeld met deze opdracht, heb uiteindelijk een list van operators en een list van waardes laten printen. Vervolgens deel B maar handmatig uitgerekend, want ik moest en zal dat domme sterretje van de dag binnenhalen. 8)7

Zit met mijn huidige format waarschijnlijk dicht bij oplossing waarin ik eenvoudig de post-processing kan verwerken maar ik ben dr klaar mee. :-(
Waar een nachtje slapen wel niet goed voor kan zijn, vandaag nog eventjes weer voor gaan zitten en mijn oplossing aan kunnen passen zodat ik deel B wel kan uitrekenen.
https://github.com/Cranza...y16/python/day16rework.py
Ergens in dit alles is de recursie en het terug doorgeven van waarden een beetje fout gegaan waardoor ik de som van alle versie nummers niet meer goed bij kan houden |:(

Acties:
  • +1 Henk 'm!

  • ydderf
  • Registratie: December 2017
  • Laatst online: 21:21
Gisteren wegens tijdgebrek ff overgeslagen, maar net nog snel ff Dag 17 in C# kunnen maken.
Zat voor deel 1 eerst ff te moeilijk te denken, maar uiteindelijk heel simpel kunnen bepalen wat de beste beginsnelheid is.
spoiler:
Je probe komt bij het naar beneden vallen altijd door y=0. De volgende stap wil je eigenlijk direct onderin je target area uitkomen. Je startsnelheid is dan gelijk aan de snelheid die je hier wil hebben min 1

Deel twee wel een beetje brute force opgelost.
spoiler:
Met twee forloopjes in elkaar door een x en y range lopen. Alleen geprobeerd om een beetje slim de limieten van de x en y te bepalen zodat je niet een hoop checks doet die bij voorbaard niet in de target area uitkomen

Soms gaat het niet zoals het moet, maar moet het maar zoals het gaat


Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

Getver, ik krijg 16b niet goed. Alle testcase lopen goed, maar mijn input niet. De data is 1800 tekens lang dus succes met zoeken.

Ik schrijf de tussenliggende resultaten naar een debugfile maar ook dat lijkt goed.

Nog tips om uit mijn impasse te komen?

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

... en gaat over tot de orde van de dag


Acties:
  • +1 Henk 'm!

  • Mschamp
  • Registratie: April 2014
  • Laatst online: 12-09 15:33
P_Tingen schreef op vrijdag 17 december 2021 @ 22:08:
Getver, ik krijg 16b niet goed. Alle testcase lopen goed, maar mijn input niet. De data is 1800 tekens lang dus succes met zoeken.

Ik schrijf de tussenliggende resultaten naar een debugfile maar ook dat lijkt goed.

Nog tips om uit mijn impasse te komen?
Niet rechtstreeks, maar misschien kan je debuggen met de input van @Remcoder hij heeft ook alle tussentijdse berekeningen gelogd.
Remcoder schreef op donderdag 16 december 2021 @ 13:46:
spoiler:
Toch maar even een print functie toegevoegd. Ik was wel benieuwd wat voor formule er nu precies uitgevoerd is. Wel interessant om te zien wat er allemaal in zit, vooral de lading geneste min/max/+/* :P

Aanschouw: https://pastebin.com/S5tAT5Bf

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

Mschamp schreef op vrijdag 17 december 2021 @ 22:15:
[...]
Niet rechtstreeks, maar misschien kan je debuggen met de input van @Remcoder hij heeft ook alle tussentijdse berekeningen gelogd.
[...]
Ik heb vergelijkbare logging maar niet zijn input.

Kan iemand eens checken met mijn data?
Mijn uitkomst is 17513144899 maar dat is dus niet goed :'(

Ik ben een beetje bang dat deze BITS computer nog weer terug gaat komen. De Intcode computer had ik ook al een bug in, zodat vervolgopdrachten dan ook niet goed gaan

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • iThinkSo
  • Registratie: April 2011
  • Laatst online: 02-04 12:35

iThinkSo

Ik heb deze tekst en jij niet!

P_Tingen schreef op vrijdag 17 december 2021 @ 22:36:
[...]

Ik heb vergelijkbare logging maar niet zijn input.

Kan iemand eens checken met mijn data?
Mijn uitkomst is 17513144899 maar dat is dus niet goed :'(

Ik ben een beetje bang dat deze BITS computer nog weer terug gaat komen. De Intcode computer had ik ook al een bug in, zodat vervolgopdrachten dan ook niet goed gaan
wtf mijn parser crasht ook op deze input

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

iThinkSo schreef op vrijdag 17 december 2021 @ 22:40:
[...]

wtf mijn parser crasht ook op deze input
Kun je me jouw data en uitkomst eens sturen? Dan haal ik die door mijn BITS heen

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • iThinkSo
  • Registratie: April 2011
  • Laatst online: 02-04 12:35

iThinkSo

Ik heb deze tekst en jij niet!

P_Tingen schreef op vrijdag 17 december 2021 @ 22:45:
[...]

Kun je me jouw data en uitkomst eens sturen? Dan haal ik die door mijn BITS heen
Oh nee, toch niet, hier is een trace van jouw packet:

https://gist.github.com/9ec5058da758d4bb2da11230f504e6e8

Hier mijn input:

https://gist.github.com/d1c51954d2fde168cba20d8f7c4b22b9

Het resultaat zou 1264485568252 moeten zijn.

Acties:
  • +1 Henk 'm!

  • glrfndl
  • Registratie: Juni 1999
  • Niet online
P_Tingen schreef op vrijdag 17 december 2021 @ 22:45:
[...]

Kun je me jouw data en uitkomst eens sturen? Dan haal ik die door mijn BITS heen
Ik krijg met jouw input een antwoord dat 7x zo hoog is. Ik kan je verder niet aan debug info helpen. Mijn code crashte overigens eerst ook als de hex string met een 0 begon. Gewoon 4 nullen prefixen is overigens niet genoeg als het tweede karakter van de hex string kleiner dan 8 is.

Ik ken die programmeertaal DIE JE GEBRUIKT NIET :P, maar op regel 18 staat iets van een conversie naar int32. Misschien dat daar iets overflowt?

[ Voor 13% gewijzigd door glrfndl op 17-12-2021 22:50 ]

Prepare for unforeseen consequences


Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 11-09 15:20
P_Tingen schreef op vrijdag 17 december 2021 @ 22:36:
[...]

Ik heb vergelijkbare logging maar niet zijn input.

Kan iemand eens checken met mijn data?
Mijn uitkomst is 17513144899 maar dat is dus niet goed :'(

Ik ben een beetje bang dat deze BITS computer nog weer terug gaat komen. De Intcode computer had ik ook al een bug in, zodat vervolgopdrachten dan ook niet goed gaan
De input staat ook op mijn github :)

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

iThinkSo schreef op vrijdag 17 december 2021 @ 22:48:
[...]

Oh nee, toch niet, hier is een trace van jouw packet:

https://gist.github.com/9ec5058da758d4bb2da11230f504e6e8

Hier mijn input:

https://gist.github.com/d1c51954d2fde168cba20d8f7c4b22b9

Het resultaat zou 1264485568252 moeten zijn.
Hmm, met mijn code 2910843709. Kak

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • iThinkSo
  • Registratie: April 2011
  • Laatst online: 02-04 12:35

iThinkSo

Ik heb deze tekst en jij niet!

P_Tingen schreef op vrijdag 17 december 2021 @ 22:52:
[...]

Hmm, met mijn code 2910843709. Kak
Verdacht dicht bij 2^32... Geen long gebruikt?

Oh nee, je andere resultaat is wel boven de 2^32 zie ik

[ Voor 12% gewijzigd door iThinkSo op 17-12-2021 22:59 ]


Acties:
  • +2 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

glrfndl schreef op vrijdag 17 december 2021 @ 22:48:
[...]

Ik krijg met jouw input een antwoord dat 7x zo hoog is. Ik kan je verder niet aan debug info helpen. Mijn code crashte overigens eerst ook als de hex string met een 0 begon. Gewoon 4 nullen prefixen is overigens niet genoeg als het tweede karakter van de hex string kleiner dan 8 is.

Ik ken die programmeertaal DIE JE GEBRUIKT NIET :P, maar op regel 18 staat iets van een conversie naar int32. Misschien dat daar iets overflowt?
Afbeeldingslocatie: https://tweakers.net/i/o3GV2dMQ9b-gKS0Kixhq1iFXarg=/800x/filters:strip_exif()/f/image/MfaO7DI7bfQL0wEsqXplz7Vc.png?f=fotoalbum_large

You da man! Dank, dat was het inderdaad. Bij het omzetten van INT32 naar INT64 heb ik deze over het hoofd gezien.

_/-\o_

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • tarlitz
  • Registratie: Maart 2010
  • Niet online
Weer zo'n gare puzzel vandaag... 😵 ben al bijna een kwartier aan het lezen en snap er nog maar weinig van. Wordt weer ultiem gepriegel...

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Ugh. Hier heb ik echt gewoon geen zin in. Ik had gehoopt dat de maker nu eens op ging houden met puzzels waar je gewoon uren aan het lezen bent.

Heb het parsen werkend maar de implemenantatie...Bah.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Ai jammer dat ik vandaag en morgen aan de slag ben bij mn zwager met verhuizen -O-
Hoop dat ik er nog aan toe kom binnen 24u! Ziet eruit als een lastige puzzel qua uitleg

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

Deze is ook wel pittig, als ik op het leaderboard zie dat de snelste het in 15 minuten heeft opgelost, dat is een eeuwigheid vergeleken met een doorsnee dag.

Dit soort puzzels... bah, meer tekstverklaren dan programmeren, lijkt teveel op werk

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Lastig, maar vond deze wel heel erg leuk!

Mijn Python oplossing: https://github.com/arjand...ain/python/18/solution.py

Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

AoC zegt:
[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]] + [7,[[[3,7],[4,3]],[[6,3],[8,8]]]] = [[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]

Ik heb [[[[4,0],[5,4]],[[7,7],[6,5]]],[[[0,6],[6,6]],[[6,8],[5,6]]]]
Waar o waar zit de fout? :(

spoiler:
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 7 and 6
[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 3 and 7
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[0,[11,3]],[[6,3],[8,8]]]]] explode 11 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,0],[[9,3],[8,8]]]]] explode 9 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[0,[11,8]]]]] explode 11 and 8
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[11,0]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[10,[[11,9],[11,0]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[11,9],[11,0]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[[5,6],9],[11,0]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[[5,6],9],[[5,6],0]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,5],[[[5,6],9],[[5,6],0]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,10],[[0,15],[[5,6],0]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,10],[[0,20],[0,6]]]] split 13 to 6 and 7
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,10],[[0,20],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,20],[0,6]]]] split 20 to 10 and 10
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[10,10]],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[[5,5],10]],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[[5,5],[5,5]]],[0,6]]]] explode 6 and 7
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[0,[[5,5],[5,5]]],[0,6]]]] explode 5 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[5,[0,[10,5]]],[0,6]]]] explode 10 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[5,[10,0]],[5,6]]]] explode 10 and 0
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[15,0],[5,6]]]] split 12 to 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,5]],[[15,0],[5,6]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,5]],[[[7,8],0],[5,6]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,12]],[[0,8],[5,6]]]] split 12 to 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,[6,6]]],[[0,8],[5,6]]]] explode 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[11,0]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[[5,6],0]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,11],[0,6]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,[5,6]],[0,6]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[11,0],[6,6]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[[5,6],0],[6,6]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,5]]],[[[0,6],[6,6]],[[6,8],[5,6]]]]

Siditamentis astuentis pactum.


Acties:
  • +1 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Varienaja schreef op zaterdag 18 december 2021 @ 09:03:
AoC zegt:
[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]] + [7,[[[3,7],[4,3]],[[6,3],[8,8]]]] = [[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]

Ik heb [[[[4,0],[5,4]],[[7,7],[6,5]]],[[[0,6],[6,6]],[[6,8],[5,6]]]]
Waar o waar zit de fout? :(

spoiler:
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 7 and 6
[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 3 and 7
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[0,[11,3]],[[6,3],[8,8]]]]] explode 11 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,0],[[9,3],[8,8]]]]] explode 9 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[0,[11,8]]]]] explode 11 and 8
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[11,0]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[10,[[11,9],[11,0]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[11,9],[11,0]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[[5,6],9],[11,0]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[[5,5],[[[5,6],9],[[5,6],0]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,5],[[[5,6],9],[[5,6],0]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,10],[[0,15],[[5,6],0]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[0,13]]],[[5,10],[[0,20],[0,6]]]] split 13 to 6 and 7
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,10],[[0,20],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,20],[0,6]]]] split 20 to 10 and 10
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[10,10]],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[[5,5],10]],[0,6]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[[5,[5,5]],[[0,[[5,5],[5,5]]],[0,6]]]] explode 6 and 7
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[0,[[5,5],[5,5]]],[0,6]]]] explode 5 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[5,[0,[10,5]]],[0,6]]]] explode 10 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[5,[10,0]],[5,6]]]] explode 10 and 0
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[5,5]],[[15,0],[5,6]]]] split 12 to 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,5]],[[15,0],[5,6]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,5]],[[[7,8],0],[5,6]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,12]],[[0,8],[5,6]]]] split 12 to 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,[6,6]]],[[0,8],[5,6]]]] explode 6 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[11,0]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[[5,6],0]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,11],[0,6]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,[5,6]],[0,6]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[11,0],[6,6]],[[6,8],[5,6]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[[5,6],0],[6,6]],[[6,8],[5,6]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,5]]],[[[0,6],[6,6]],[[6,8],[5,6]]]]
spoiler:
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 4 and 5
[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 7 and 6
[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]] explode 3 and 7
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[0,[11,3]],[[6,3],[8,8]]]]] explode 11 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,0],[[9,3],[8,8]]]]] explode 9 and 3
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[0,[11,8]]]]] explode 11 and 8
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[11,0]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[10,[[11,9],[11,0]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[0,13]]],[10,[[11,9],[11,0]]]] split 13 to 6 and 7
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[10,[[11,9],[11,0]]]] explode 6 and 7
[[[[4,0],[5,4]],[[7,7],[6,0]]],[17,[[11,9],[11,0]]]] split 17 to 8 and 9
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[11,9],[11,0]]]] split 11 to 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[[5,6],9],[11,0]]]] explode 5 and 6
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,14],[[0,15],[11,0]]]] split 14 to 7 and 7
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,15],[11,0]]]] split 15 to 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,[7,8]],[11,0]]]] explode 7 and 8
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[19,0]]]] split 19 to 9 and 10
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[[9,10],0]]]] explode 9 and 10
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,10]]]] split 10 to 5 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,[5,5]]]]] explode 5 and 5
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]

Je doet split terwijl explode voorrang heeft ;)

Acties:
  • 0 Henk 'm!

  • Mschamp
  • Registratie: April 2014
  • Laatst online: 12-09 15:33
Amai, veel leeswerk vandaag. Dit type puzzels spreekt me niet echt aan: ik heb liever korte opgave waar je dan meer tijd aan moet spenderen om oplossing te bedenken, dan een puzzel die een half uur lezen is (en dan nog moeilijk te volgen is)

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
Mschamp schreef op zaterdag 18 december 2021 @ 09:11:
Amai, veel leeswerk vandaag. Dit type puzzels spreekt me niet echt aan: ik heb liever korte opgave waar je dan meer tijd aan moet spenderen om oplossing te bedenken, dan een puzzel die een half uur lezen is (en dan nog moeilijk te volgen is)
+1
Liever code die je slim moet schrijven op basis van een algemene uitleg om de edge-cases ook op te vangen dan dit geneuzel in de marge

Acties:
  • +1 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Als je ziet dat de persoon die 2e ligt hun eigen golf coder taal geschreven heeft en veel meedoet aan golfcoder puzzles dan weet je wel dat het niet makkelijk gaat worden. (die taal is compleet onleesbaar overigens, brainfuck maar dan net wat anders).

Ben nog niet klaar, maar wat ik gemaakt heb tot nu toe
spoiler:
(handgeschreven LR(1) parser voor input en explode reducer)
werkten in 1 keer, wellicht omdat ik zo hard gevloekt heb tijdens het coden dat de code bang was te falen. :+

Niet echt vermakelijk overigens. Complexe omschrijvingen die leiden tot hoofdpijn en oeverloos debuggen wanneer je een regeltje mist. Mn code is op dit moment niet al te best want doe alles dubbel voor links en rechts maar lekker belangrijk...

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Het parsen was nog wel het makkelijkst vandaag
spoiler:
gewoon json dat laten doen voor je :D

daarna was het inderdaad lezen. Iets te lang bezig geweest met leesfoutjes achterhalen maar het is uiteindelijk gelukt :) Deel twee was daarmee ook niet zo heel moeilijk meer
spoiler:
alleen zorgen dat je elke keer je optelling op verse trees doet

Acties:
  • +1 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

EfBe schreef op zaterdag 18 december 2021 @ 12:28:
..., wellicht omdat ik zo hard gevloekt heb tijdens het coden dat de code bang was te falen. :+
Damn, ik dacht dat ik hard kon schelden en met toetsenborden gooien (daarom mag ik geen draadloze muis van mijn collega's), maar dit is wel next level!

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Split + explode was toch niet correct. Maar lezende, dit klopt toch niet:

If any pair is nested inside four pairs, the leftmost such pair explodes.

en dan als voorbeeld:
[7,[6,[5,[4,[3,2]]]]] becomes [7,[6,[5,[7,0]]]]

maar [3,2] is niet a left most pair, het is nl. de right operand, niet de left. Ik kan uiteraard het voorbeeld volgen en het zo implementeren, maar de omschrijving is fucked.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • Mschamp
  • Registratie: April 2014
  • Laatst online: 12-09 15:33
EfBe schreef op zaterdag 18 december 2021 @ 13:45:
Split + explode was toch niet correct. Maar lezende, dit klopt toch niet:

If any pair is nested inside four pairs, the leftmost such pair explodes.

en dan als voorbeeld:
[7,[6,[5,[4,[3,2]]]]] becomes [7,[6,[5,[7,0]]]]

maar [3,2] is niet a left most pair, het is nl. de right operand, niet de left. Ik kan uiteraard het voorbeeld volgen en het zo implementeren, maar de omschrijving is fucked.
Het is inderdaad lastige opgave om te lezen: ik had het gelezen als: degene die 4 niveau's diep zit. En als er meer zijn de linkse. Dus op het voorbeeld:
[7,[6,[5,[4,[3,2]]]]] becomes [7,[6,[5,[7,0]]]]
[[6,[5,[4,[3,2]]]]],[6,[5,[4,[3,2]]]]]] becomes [[6,[5,[7,0]]]] ,[6,[5,[4,[3,2]]]]]]

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

EfBe schreef op zaterdag 18 december 2021 @ 13:45:
Split + explode was toch niet correct. Maar lezende, dit klopt toch niet:

If any pair is nested inside four pairs, the leftmost such pair explodes.

en dan als voorbeeld:
[7,[6,[5,[4,[3,2]]]]] becomes [7,[6,[5,[7,0]]]]

maar [3,2] is niet a left most pair, het is nl. de right operand, niet de left. Ik kan uiteraard het voorbeeld volgen en het zo implementeren, maar de omschrijving is fucked.
Je leest over het woordje "such" heen. De zin betekent iets heel anders dan je denkt.

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
DataGhost schreef op zaterdag 18 december 2021 @ 14:00:
[...]

Je leest over het woordje "such" heen. De zin betekent iets heel anders dan je denkt.
Ik zal wel debiel zijn, maar ik snap die zin echt niet. wat betekent such in die zin?

verder: "the first regular number to the right of the exploding pair (if any)"
is dat de eerste die je tegenkomt wanneer je de boom volgt, of de 1e die je tegenkomt in de string representatie? Want dat maakt nogal uit.

Ik probeer de mogelijkheden wel uit, welke door tests komt zal wel de juiste zijn, maar JFC wat een gezeik

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

EfBe schreef op zaterdag 18 december 2021 @ 14:12:
[...]

Ik zal wel debiel zijn, maar ik snap die zin echt niet. wat betekent such in die zin?
Such is hier "van degenen die aan de voorwaarde voldoen". Dus zoiets als "als er paren zijn op vier niveaus diep, explodeert het meest linker paar daarvan". Leftmost is ook "meest linker", niet "linker".
verder: "the first regular number to the right of the exploding pair (if any)"
is dat de eerste die je tegenkomt wanneer je de boom volgt, of de 1e die je tegenkomt in de string representatie? Want dat maakt nogal uit.
Of jij er intern een boomstructuur van maakt of niet, dat is niet in de opgave genoemd. Het gaat dus om de stringrepresentatie. Dat maakt het "such" dingetje misschien ook wat makkelijker te begrijpen.

[ Voor 38% gewijzigd door DataGhost op 18-12-2021 14:17 ]


Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
DataGhost schreef op zaterdag 18 december 2021 @ 14:15:
[...]

Such is "van degenen die aan de voorwaarde voldoen". Dus zoiets als "als er paren zijn op vier niveaus diep, explodeert het meest linker paar daarvan". Leftmost is ook "meest linker", niet "linker".
dus als de rechteroperand kan worden geexplode en de linkeroperand niet, dan moet ik de rechteroperand exploden?
Of jij er intern een boomstructuur van maakt of niet, dat is niet in de opgave genoemd. Het gaat dus om de stringrepresentatie. Dat maakt het "such" dingetje misschien ook wat makkelijker te begrijpen.
Ligt voor de hand toch? Expression tree? Maar goed dit was voor mij dus totaal onduidelijk. Het vervalt dus tot string manipulatie en niet expression tree reduction. Zucht

3 uur verkloot en me dood geergerd. :(

[ Voor 33% gewijzigd door EfBe op 18-12-2021 14:21 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

EfBe schreef op zaterdag 18 december 2021 @ 14:17:
[...]

dus als de rechteroperand kan worden geexplode en de linkeroperand niet, dan moet ik de rechteroperand exploden?
Zie m'n edit. Denk niet in jouw structuur, denk alleen aan de string en hoe het er daarin uitziet mbt "links", "verder links", "minder ver links" en "meest linker" :+.

spoiler:
Het zijn verder wel allemaal behoorlijk standaard tree-operaties, waarbij het vrijwel volledig irrelevant moet zijn of een node nou het linker- of rechterchild is.

[ Voor 18% gewijzigd door DataGhost op 18-12-2021 14:20 ]


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

EfBe schreef op zaterdag 18 december 2021 @ 14:17:
[...]

Ligt voor de hand toch? Expression tree? Maar goed dit was voor mij dus totaal onduidelijk. Het vervalt dus tot string manipulatie en niet expression tree reduction. Zucht
Dat zeg ik niet :D Alleen dat de manier waarop de opgave geschreven is en jouw oplossingsrichting "incompatibel" kunnen zijn wat betreft de betekenis van uitspraken in de opgave. Dus als er gezegd wordt X of Y, dan slaat X of Y op hoe het eruit ziet in de vorm die in de opgave gegeven is, en niet op hoe het eruit ziet in jouw oplossing. Je moet dan zelf nog vertalen hoe dat er in jouw oplossing uit moet gaan zien.
spoiler:
Ik dus dus ook zeker niet met string manipulatie in de weer gaan


Als ik het nou fijner vond om deze opgave met omgekeerde strings te doen, kan ik ook niet meer uit de voeten met "meest linker", ondanks dat dat wel in de opgave staat. Daar moet ik dan zelf de denkstap naar "meest rechter" van maken, omdat mijn structuur omgekeerd is. Dus ook een heel ander soort structuur als de string in de opgave zorgt ervoor dat je vertaalstappen nodig hebt.

Het 4e en 5e voorbeeld na "Here are some examples of a single explode action:" leggen het toch duidelijk uit lijkt me?

[ Voor 48% gewijzigd door DataGhost op 18-12-2021 14:31 ]


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

Ik was 's morgens begonnen met een 'eenvoudige' oplossing, waarbij ik gebruik maak van het feit dat een char in java eigenlijk een int is. Je kan dus prima met chars rekenen. En het mooie is, dat ook grotere getallen nog steeds in 1 char passen. Alleen oppassen: als je genoeg bij een char optelt, kan ie ook '[' of ']' worden. En dan draait alles in de soep. Dus ik maak eerst van alle brackets haakjes, en doe dan mijn ding. Haakjes en komma's komen in de ASCII tabel voor alle getallen, dus dat is veilig.

Goed.. vanmorgen zat ik vast. Dankje @MrHaas, al ontdekte ik zelf de fout vlak voordat ik je hint zag. Dus ik had alles omgebouwd tot een hoofdpijn-veroorzakende ellende, waar echter het goede antwoord uit kwam. Nu had ik even tijd, en kon mijn originele oplossing werkend krijgen: Java dag 18

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • Mschamp
  • Registratie: April 2014
  • Laatst online: 12-09 15:33
Mijn oplossing ook eens wat deftiger gemaakt.
In code valt het eigenlijk nog mee, maar om de tekst om te zetten naar code was toch wat werk
C# dag 18

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Heb het ook maar even opgeschoond:
Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
Wat een gepriegel....

spoiler:
Eerst begonnen met nested lists, toen het besef dat een string eenvoudiger kon zijn.
Nu al een eeuwigheid aan het kutten met alle brackets....

GEEN LEUKE OPDRACHT

Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Cranzai schreef op zaterdag 18 december 2021 @ 16:16:
Wat een gepriegel....

spoiler:
Eerst begonnen met nested lists, toen het besef dat een string eenvoudiger kon zijn.
Nu al een eeuwigheid aan het kutten met alle brackets....

GEEN LEUKE OPDRACHT
Ik snap dat je het niet leuk vindt als je het zo wilt doen :+

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
DataGhost schreef op zaterdag 18 december 2021 @ 16:17:
[...]

Ik snap dat je het niet leuk vindt als je het zo wilt doen :+
Check, andere aanpak dus :+
spoiler:
Hoewel ik er nou ook niet echt blij van wordt een tree op te moeten zetten. |:(

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-09 10:03

Creepy

Tactical Espionage Splatterer

(jarig!)
Meh, ik ben het beu. Wat een geneuzel met string manipulaties qua explodes en splits om vervolgens weer te gaan berekenen. Bijna alles werkt, los 2 pairs/regels optellen gaat met de voorbeelden die ik heb prima, met de voorbeelden in de omschrijving ook, maar met de test input gaat er ergens iets mis en ik heb er simpelweg geen zin meer in. Het kost mij in elk geval nu teveel tijd. Wie weet vanavond of morgen nog even verder.

[ Voor 11% gewijzigd door Creepy op 18-12-2021 16:57 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Hm, ik heb de opdracht nog nauwkeurig gelezen en er wordt hier door minimaal 1 persoon een ongefundeerde aanname gedaan over de input. De invariant is wel een beetje jammer want die zorgt ervoor dat de input alsnog aan een best wel kleine maximale grootte is gebonden, dus kwadratische oplossingen zullen niet een zo heel gek veek langzamer zijn. Anyway, ik ben toch tot een testset gekomen die op mijn laptopje in 8 en 14 seconden draait: Up1 met de antwoorden (aangenomen dat mijn code klopt).

spoiler:
In deel twee moest ik nog wel iets subtiels wijzigen aan mijn code want dat duurde opeens vele minuten, maar ik had gelukkig snel genoeg door wat er aan de hand was :D 8)7

Daarom heb ik ook mijn eerder gelinkte code heel subtiel aangepast, want
spoiler:
ik rekende in deel 2 de trees steeds vanaf de input uit voordat ik ze bij elkaar optelde, in plaats van de gereduceerde kopieën bij elkaar op te tellen

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Cranzai schreef op zaterdag 18 december 2021 @ 16:51:
[...]


Check, andere aanpak dus :+
spoiler:
Hoewel ik er nou ook niet echt blij van wordt een tree op te moeten zetten. |:(
Dat hoeft helemaal niet moeilijk te zijn als je het concept een beetje door hebt.
spoiler:
Uitstekend moment om nog eens met classes/objects aan de slag te gaan, die zijn daar bij uitstek geschikt voor. En dan kan je direct een setje tree-operaties op die classes definiëren die verder identiek zijn voor alle andere (binary) trees waardoor je dat later gewoon kan copy/pasten.

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
DataGhost schreef op zaterdag 18 december 2021 @ 17:00:
[...]

Dat hoeft helemaal niet moeilijk te zijn als je het concept een beetje door hebt.
spoiler:
Uitstekend moment om nog eens met classes/objects aan de slag te gaan, die zijn daar bij uitstek geschikt voor. En dan kan je direct een setje tree-operaties op die classes definiëren die verder identiek zijn voor alle andere (binary) trees waardoor je dat later gewoon kan copy/pasten.
Stiekem was ik ook al een uitgebreide studie aan het maken van jouw code :9

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Ik weet alleen niet 100% zeker of het 100% correct is, ik heb iemand anders met ook twee sterren mijn Up1 laten oplossen en die kreeg een andere uitkomst :+ en die van @MrHaas crasht helaas. Mijn code was in ieder geval correct genoeg voor twee sterren :p

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
DataGhost schreef op zaterdag 18 december 2021 @ 17:23:
Ik weet alleen niet 100% zeker of het 100% correct is, ik heb iemand anders met ook twee sterren mijn Up1 laten oplossen en die kreeg een andere uitkomst :+ en die van @MrHaas crasht helaas. Mijn code was in ieder geval correct genoeg voor twee sterren :p
Gheghe nou, ik snap er de ballen van.
Ik programmeer vooral op algemene logica en dan merk ik de beperking daarvan op het moment dat je wat meer taal specifieke dingen moet gaan gebruiken zoals classes.

spoiler:
Kan me wel visualiseren hoe je een boom zou opbouwen bijvoorbeeld maar hoe dat dan slim te doen en hoe je dan de naast liggende nodes op een andere depth bijvoorbeeld weer opspoort is voor mij abracadaba. :? Mocht ik vandaag eigenhandig willen oplossen zou ik waarschijnlijk mijn string oplossing verder moeten uitwerken maar daar heb ik de kracht niet voor. :O

Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Cranzai schreef op zaterdag 18 december 2021 @ 17:33:
[...]


Gheghe nou, ik snap er de ballen van.
Ik programmeer vooral op algemene logica en dan merk ik de beperking daarvan op het moment dat je wat meer taal specifieke dingen moet gaan gebruiken zoals classes.

spoiler:
Kan me wel visualiseren hoe je een boom zou opbouwen bijvoorbeeld maar hoe dat dan slim te doen en hoe je dan de naast liggende nodes op een andere depth bijvoorbeeld weer opspoort is voor mij abracadaba. :? Mocht ik vandaag eigenhandig willen oplossen zou ik waarschijnlijk mijn string oplossing verder moeten uitwerken maar daar heb ik de kracht niet voor. :O
spoiler:
Ik zou beginnen met gewoon een boom te tekenen op papier en dan te visualiseren hoe je van plek X naar plek Y zou kunnen komen. Als je dat voor een aantal X en Y gedaan hebt krijg je denk ik wel een idee wat redelijk lijkt op mijn next/previous.

spoiler:
Als je dit als beginner direct conceptueel in je hoofd weet te krijgen, een tree is eigenlijk gewoon een verzameling nodes die aan elkaar geknoopt zijn, en het is gewoon een boom. Een node heeft dus of een waarde (dan is het een leaf), of niet en dan heeft 'ie een node links en een node rechts (in het geval van een binary tree, wat dit is). Als je dan in elke node ook bijhoudt wat z'n parent is, heb je genoeg informatie om vanaf elke willekeurige node door de hele tree heen te lopen naar een andere willekeurige node. De boomwortels/boomstam (root) heeft geen parent, er is dus maar 1 node in de hele boom die geen parent heeft en dat is ook handig om te weten. En recursie is dus ook heel erg een makkelijk dingetje in bomen, maar alles kan ook zonder recursie.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:22
Oef, bij deel 1 had ik m'n getallen als mutable geïmplementeerd, maar dat maakt deel 2 lastig. Ik heb het uiteindelijk lomp opgelost door alles maar te kopiëren.

Ik heb ook nog een mini-parser geschreven voor de invoer hoewel Python's eval() in theorie ook gewerkt had. Hoe hebben andere mensen dat opgelost?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-09 10:03

Creepy

Tactical Espionage Splatterer

(jarig!)
Hmm, ik zie al waar mijn code de mist in gaat.
spoiler:
Exploden moet altijd eerst. Ik deed een aanname in mijn explode dat als ik ga zoeken naar een nummer link of rechts dat die altijd maar uit 1 cijfer bestaat, maar dat kan na een vorige explode ook prima 2 cijfers zijn.

Ik zit er bijna aan te denken om ook een json parser te pakken en de boel volledig om te bouwen.

[ Voor 51% gewijzigd door Creepy op 18-12-2021 17:55 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Soultaker schreef op zaterdag 18 december 2021 @ 17:48:
Oef, bij deel 1 had ik m'n getallen als mutable geïmplementeerd, maar dat maakt deel 2 lastig. Ik heb het uiteindelijk lomp opgelost door alles maar te kopiëren.

Ik heb ook nog een mini-parser geschreven voor de invoer hoewel Python's eval() in theorie ook gewerkt had. Hoe hebben andere mensen dat opgelost?
Creepy schreef op zaterdag 18 december 2021 @ 17:52:
Hmm, ik zie al waar mijn code de mist in gaat.
spoiler:
Ik zit er bijna aan te denken om ook een json parser te gebruiken.....
spoiler:
gewoon json.loads() inderdaad


Leuke gedachte over eval() trouwens, misschien leuk voor nog een testinput })

[ Voor 4% gewijzigd door DataGhost op 18-12-2021 17:57 ]


Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Puzzle 1 DONE. Holy crap. :)
Alles opnieuw geschreven want door een domme beslissing om operands OF snailfishnumbers OF ints te laten zijn (ipv nodes met wel of niet een value) werd de code onnodig complex en zag ik de fouten niet.

Nu puzzle 2

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

EfBe schreef op zaterdag 18 december 2021 @ 17:58:
Puzzle 1 DONE. Holy crap. :)
Alles opnieuw geschreven want door een domme beslissing om operands OF snailfishnumbers OF ints te laten zijn (ipv nodes met wel of niet een value) werd de code onnodig complex en zag ik de fouten niet.

Nu puzzle 2
Fijn dat ondanks de taalbarriere alsnog het kwartje gevallen is :+ Ik hoop dat ik het niet nodeloos veel complexer heb gemaakt in m'n poging het uit te leggen zonder het volledig voor te kauwen.

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
DataGhost schreef op zaterdag 18 december 2021 @ 17:59:
[...]

Fijn dat ondanks de taalbarriere alsnog het kwartje gevallen is :+ Ik hoop dat ik het niet nodeloos veel complexer heb gemaakt in m'n poging het uit te leggen zonder het volledig voor te kauwen.
Nee hoor. :)
spoiler:
Ik heb het opgelost met in-place reduction dus geen 'find the node, dan nog eens de hele tree door'. Dat maakte het wel wat ingewikkelder omdat de return values dan weer omhoog moesten en al naar gelang wel of niet verwerkt moesten worden. Ach ja... ik en mn goede ideeen :P


Dag 18: https://github.com/FransB...src/AoC2021.Code/Day18.cs

spoiler:
Puzzle 2 maar met een cloner opgelost. Op zich net zo efficient als on-the-fly clonen denk ik. Omdat ik al returnvalues teruggeef bij explode en split wordt het wel erg complex om on-the-fly te clonen bij change, dus dit is simpeler.

Als morgen net zo'n nachtmerrie wordt is dit mn laatste dag :) Hele dag bezig, holy crap

[ Voor 26% gewijzigd door EfBe op 18-12-2021 18:29 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Soultaker schreef op zaterdag 18 december 2021 @ 17:48:
Oef, bij deel 1 had ik m'n getallen als mutable geïmplementeerd, maar dat maakt deel 2 lastig. Ik heb het uiteindelijk lomp opgelost door alles maar te kopiëren.

Ik heb ook nog een mini-parser geschreven voor de invoer hoewel Python's eval() in theorie ook gewerkt had. Hoe hebben andere mensen dat opgelost?
Ik heb eval gebruikt })

Acties:
  • +1 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Cranzai schreef op zaterdag 18 december 2021 @ 16:51:
[...]


Check, andere aanpak dus :+
spoiler:
Hoewel ik er nou ook niet echt blij van wordt een tree op te moeten zetten. |:(
Ach het is bijna kerst :+

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Wat geeft jouwe voor uitkomst op deze input? :+
spoiler:
[x for x in range(9999999999999999)]

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:22
DataGhost schreef op zaterdag 18 december 2021 @ 18:39:
Wat geeft jouwe voor uitkomst op deze input? :+
spoiler:
[x for x in range(9999999999999999)]
Geen probleem als je 10 petabyte RAM hebt.

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 01-09 22:00
DataGhost schreef op zaterdag 18 december 2021 @ 18:39:
[...]

Wat geeft jouwe voor uitkomst op deze input? :+
spoiler:
[x for x in range(9999999999999999)]
Zoals een error message in een van de programma's die ik gebruik aangeeft:
"There's no problem big enough, that it can't be run away from"

Acties:
  • 0 Henk 'm!

  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

DataGhost schreef op zaterdag 18 december 2021 @ 16:58:
Hm, ik heb de opdracht nog nauwkeurig gelezen en er wordt hier door minimaal 1 persoon een ongefundeerde aanname gedaan over de input. De invariant is wel een beetje jammer want die zorgt ervoor dat de input alsnog aan een best wel kleine maximale grootte is gebonden, dus kwadratische oplossingen zullen niet een zo heel gek veek langzamer zijn. Anyway, ik ben toch tot een testset gekomen die op mijn laptopje in 8 en 14 seconden draait: Up1 met de antwoorden (aangenomen dat mijn code klopt).

spoiler:
In deel twee moest ik nog wel iets subtiels wijzigen aan mijn code want dat duurde opeens vele minuten, maar ik had gelukkig snel genoeg door wat er aan de hand was :D 8)7

Daarom heb ik ook mijn eerder gelinkte code heel subtiel aangepast, want
spoiler:
ik rekende in deel 2 de trees steeds vanaf de input uit voordat ik ze bij elkaar optelde, in plaats van de gereduceerde kopieën bij elkaar op te tellen
Gereduceerde getallen bij elkaar optellen kan andere antwoorden opleveren dan ze zonder eerst reduceren bij elkaar op te tellen. Eerst reduceren maakt mijn code stukken sneller (op jouw invoer ineens binnen een seconde in plaats van 53 seconden), maar het antwoord is niet hetzelfde.
spoiler:
Zonder vooraf reduceren deel 1: 3852, deel 2: 4367
Met vooraf reduceren deel 1: 3670, deel 2: 4489
Op de officiële input maakt dit niet uit, daarin zijn de gegeven getallen al gereduceerd

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:22
DataGhost schreef op zaterdag 18 december 2021 @ 16:58:
Anyway, ik ben toch tot een testset gekomen die op mijn laptopje in 8 en 14 seconden draait: Up1 met de antwoorden (aangenomen dat mijn code klopt).
Die invoer voldoet niet aan de specificatie omdat je begint met non-reduced numbers, en die zijn niet geldig. Als ik de invoer eerst reduceer dan krijg ik er dezelfde antwoorden uit (in ongeveer 30 seconden).

*edit:*
Precies wat dcm360 hierboven zegt.

[ Voor 3% gewijzigd door Soultaker op 18-12-2021 19:31 ]


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Hm, lelijk. Ik ging er aan de hand van de eerste voorbeeldjes (die niet gereduceerd waren, per definitie) vanuit dat dat in de input wel mocht, verkeerd gelezen dan. Ik had bij de rest van de voorbeelden niet eens gekeken of ze al gereduceerd waren of niet :+ Dat gebeurde gewoon automatisch bij het maken van mijn tree. Dan is er denk ik niet makkelijk een testinvoer te maken die voor beide delen lang duurt, maar toch binnen 15 seconden, en bovendien hard kapot gaat op bijv. gemier met stringoperaties.

[ Voor 18% gewijzigd door DataGhost op 18-12-2021 20:10 ]


Acties:
  • +1 Henk 'm!

  • Devilfish
  • Registratie: Augustus 2001
  • Laatst online: 05-09 22:14
Pfff wat een werk vandaag. In kleine blokjes tijd er aan kunnen werken, maar ben wel blij met m'n oplossing.
spoiler:
Dag 18 in C#
Tree maken met immutable records, deel 1 op de laptop ging in 33ms, deel 2 in 178ms.

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 11-09 15:20
Kan iemand even helpen, bij mij gaat het mis bij de additie operatie van 2 snailnumbers. Ze worden goed samengevoegd, maar de reductie daarna gaat fout. Alle andere reductie voorbeelden uit de opdracht werken goed, en ik mis de tussenstappen om hier te zien waar het mis gaat.

Dit zie ik optreden bij het samenvoegen van deze 2 nummers:
code:
1
2
[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]]
[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]


Daar worden bij mij de volgende reductie stappen genomen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[0,13]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[14,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,7],[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,10],[[0,[11,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[0,[11,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[11,0],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[[5,6],0],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,10]],[[0,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,[5,5]]],[[0,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[10,0]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[[5,5],0]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[0,5]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,15],[0,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,[7,8]],[0,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[12,0],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[[6,6],0],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,11]],[[0,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,[5,6]]],[[0,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[19,0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[[9,10],0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,15],[0,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,[7,8]],[0,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[13,0],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[[6,7],0],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[8,[5,5]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[13,0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[[6,7],0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,13],[0,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,[6,7]],[0,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[6,0],[7,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[6,0],[7,7]]]]


Zoals je ziet sluipt er een fout in, want het resultaat zou dit moeten zijn:
code:
1
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]


Als iemand voor mij een vergelijkbare lijst met reductiestappen kan maken kan ik mogelijk uitvogelen wat hier aan de hand is.

Mocht je heel erg veel van een brainfuck houden is mijn code ook hier te vinden (op eigen risico betreden!):
Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Python dag 18

Best wel trots op deze solution! Blij dat het me vanavond nog is gelukt na klussen :)

spoiler:
strings go brrrr

Acties:
  • +1 Henk 'm!

  • ZieglerNichols
  • Registratie: Mei 2015
  • Niet online
Remcoder schreef op zaterdag 18 december 2021 @ 21:41:
Kan iemand even helpen, bij mij gaat het mis bij de additie operatie van 2 snailnumbers. Ze worden goed samengevoegd, maar de reductie daarna gaat fout. Alle andere reductie voorbeelden uit de opdracht werken goed, en ik mis de tussenstappen om hier te zien waar het mis gaat.

Dit zie ik optreden bij het samenvoegen van deze 2 nummers:
code:
1
2
[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]]
[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]


Daar worden bij mij de volgende reductie stappen genomen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[0,13]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[14,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,7],[[[3,7],[4,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,10],[[0,[11,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[0,[11,3]],[[6,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[11,0],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,5]],[[[5,6],0],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,10]],[[0,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[5,[5,5]]],[[0,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[10,0]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[7,[[5,5],0]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[12,[0,5]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,6],[[9,3],[8,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,15],[0,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[5,[7,8]],[0,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[12,0],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,5]],[[[6,6],0],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,11]],[[0,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[0,[5,6]]],[[0,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[8,[11,8]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[19,0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,6],[[9,10],0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,15],[0,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[6,[7,8]],[0,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[13,0],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,0]],[[[6,7],0],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[8,10]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[8,[5,5]]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[13,0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,7],[[6,7],0]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,13],[0,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[0,[6,7]],[0,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[6,0],[7,7]]]]
Reduced to:[[[[4,0],[5,4]],[[7,7],[6,0]]],[[[6,6],[5,6]],[[6,0],[7,7]]]]


Zoals je ziet sluipt er een fout in, want het resultaat zou dit moeten zijn:
code:
1
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]


Als iemand voor mij een vergelijkbare lijst met reductiestappen kan maken kan ik mogelijk uitvogelen wat hier aan de hand is.

Mocht je heel erg veel van een brainfuck houden is mijn code ook hier te vinden (op eigen risico betreden!):

***members only***
[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[0,[11,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,0],[[9,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[0,[11,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[0,13]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[17,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[[5,6],9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,14],[[0,15],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,15],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,[7,8]],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[19,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[[9,10],0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,10]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,[5,5]]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]

Acties:
  • 0 Henk 'm!

  • ZieglerNichols
  • Registratie: Mei 2015
  • Niet online
Dag 18 in MATLAB

Niet echt mooi, maar het werkt! :)

Acties:
  • +1 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 11-09 15:20
ZieglerNichols schreef op zaterdag 18 december 2021 @ 21:59:
[...]


[[[[0,[4,5]],[0,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,0]],[[[4,5],[2,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[0,[7,6]],[9,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[7,[[[3,7],[4,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[0,[11,3]],[[6,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,0],[[9,3],[8,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[0,[11,8]]]]]
[[[[4,0],[5,4]],[[7,0],[15,5]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,0],[[7,8],5]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[0,13]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[0,[6,7]]]],[10,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[17,[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[11,9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,9],[[[5,6],9],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,14],[[0,15],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,15],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[0,[7,8]],[11,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[19,0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,0],[[9,10],0]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,10]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[0,[5,5]]]]]
[[[[4,0],[5,4]],[[7,7],[6,0]]],[[8,[7,7]],[[7,9],[5,0]]]]
Ooooooh, moet je eerst het hele nummer nalopen of er ergens een explode gedaan kan worden, en dáárna pas gaan zoeken naar een split... |:(

Mijn dank is groot, deel 1 opgelost! _/-\o_

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 11-09 15:20
En deel 2 ook snel opgelost daarna.

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


spoiler:
Ik maakte alleen de fout door de snailnumbers die ik wilde vergelijken aan te passen...
Gelukkig had ik een tostring functie gemaakt die ze in het juiste formaat uitspuugde, dus een kwestie van de strings gewoon opnieuw parsen en ik heb een compleet vers snailnumber om te vergelijken met een ander compleet vers snailnumber :)

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:22

P_Tingen

omdat het KAN

Ik ga vandaag lekker overslaan. Geen zin in eindeloos gepiel met strings of trees. Ik zie morgen wel weer wat er komt.

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
DataGhost schreef op zaterdag 18 december 2021 @ 16:58:
Anyway, ik ben toch tot een testset gekomen die op mijn laptopje in 8 en 14 seconden draait: Up1 met de antwoorden (aangenomen dat mijn code klopt).
Poef mn laptop stijgt op

3670
0:00:42.969364
4489
0:00:29.527643

Zal vast iets met stringmanipulatie te maken hebben

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-09 10:03

Creepy

Tactical Espionage Splatterer

(jarig!)
P_Tingen schreef op zaterdag 18 december 2021 @ 22:30:
Ik ga vandaag lekker overslaan. Geen zin in eindeloos gepiel met strings of trees. Ik zie morgen wel weer wat er komt.
Ik voor nu ook. Met het gezinsleven tussendoor is een paar uur voor 1 opdracht te lang en dan niet even een uurtje ongestoord er aan bezig kunnen zijn leidt enorm af.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • mvdnes
  • Registratie: Januari 2009
  • Laatst online: 12-09 11:04
DataGhost schreef op zaterdag 18 december 2021 @ 16:58:Anyway, ik ben toch tot een testset gekomen die op mijn laptopje in 8 en 14 seconden draait: Up1 met de antwoorden (aangenomen dat mijn code klopt).
Leuk deze input. Ik moest mijn origineel wel aanpassen want
spoiler:
ik ging er eerst van uit dat alles al vantevoren gereduceerd was. Mijn zelfgeschreven parser kon geen getallen boven de 10 aan in de input, dus dat moest ook op de schop.


Voor rust is dit blijkbaar een eitje:
code:
1
2
3
4
% time target/release/day18 ~/Downloads/aoc-2021-day18-up1.txt
18a: 3670
18b: 4489
target/release/day18 ~/Downloads/aoc-2021-day18-up1.txt  0,10s user 0,00s system 99% cpu 0,102 total

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-09 10:03

Creepy

Tactical Espionage Splatterer

(jarig!)
Ok, ik kon het toch niet laten. Het is af. https://github.com/CodeEn...er/aoc/aoc2021/Day18.java

spoiler:
Parsen naar een tree en dan bij elke explode de tree platslaan naar paartjes in een list zodat je makkelijk de linker en rechter paren kan bepalen. Een Json parser toch niet nodig gehad.

Edit: en ja, ik was te gaar om iets fatsoenlijks te schrijven om via de tree het eerste linker of rechter getal te kunnen bepalen, vandaar het plat slaan :P

[ Voor 17% gewijzigd door Creepy op 19-12-2021 00:49 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Asgardian28
  • Registratie: December 2012
  • Laatst online: 05-09 22:06
Zo weer een lastige vandaag, zeker na die debughel van gisteren!
Uiteindelijk wel heel blij met plek 557 op lb. En binnen 2 uur opgelost tov ruim 4 uur gisteren

spoiler:
Snapte niets van de 24 orientaties. Na een tijdje turen heb ik gewoon 48 opties gemaakt (x,y,z allen *1 of *-1 en dan gehusseld bv z,y,x. Zo blij dat dit werkte anders erg lastig goed te krijgen.

Daarna gewoon zeggen dat scanner 1 klopt en kijken of je matches kan vinden door herhaaldelijk de lijst met niet gematchte scanners te loopen.
Code hier Niet heel mooi met al die geneste for loops maar het werkt en de functies aardig uit elkaar gehaald.

Acties:
  • +1 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Asgardian28 schreef op zondag 19 december 2021 @ 08:31:
Zo weer een lastige vandaag, zeker na die debughel van gisteren!
Uiteindelijk wel heel blij met plek 557 op lb. En binnen 2 uur opgelost tov ruim 4 uur gisteren

spoiler:
Snapte niets van de 24 orientaties. Na een tijdje turen heb ik gewoon 48 opties gemaakt (x,y,z allen *1 of *-1 en dan gehusseld bv z,y,x. Zo blij dat dit werkte anders erg lastig goed te krijgen.

Daarna gewoon zeggen dat scanner 1 klopt en kijken of je matches kan vinden door herhaaldelijk de lijst met niet gematchte scanners te loopen.
Code hier Niet heel mooi met al die geneste for loops maar het werkt en de functies aardig uit elkaar gehaald.
spoiler:
Ik snap er dus helemaal niks van vandaag of ik denk veel en veel te moeilijk. Want de rotaties gaan nog wel lukken, maar ik loop in de problemen met het matchen en kijk naar jouw code en snap het niet. Ik zie nergens de relatieve positie van de probes terug.... Als in, die kan t.o.v. probe 0 tussen [-2000, 2000] voor x, y, z liggen. Hoe los jij dat dan op?

EDIT: Ah, natuurlijk. De offset ligt vast van de twee probes, dus als je 12 items vind die precies dezelfde offset hebben..... dan heb je een match natuurlijk.

[ Voor 5% gewijzigd door armageddon_2k1 op 19-12-2021 09:10 ]

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

AoC schreef:
In total, each scanner could be in any of 24 different orientations
Dat snap ik niet. Ik reken met 48 oriëntaties.

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • Asgardian28
  • Registratie: December 2012
  • Laatst online: 05-09 22:06
@Varienaja
spoiler:
Ik snap het wel, maar implementeren…

Stel je een camera voor, die kan als bovenkant de x, y of z as hebben (3 opties).

Maar per opties kan ook op zn kop, nu hebben we 3x2=6opties.
Nu kan je per optie de camera 4 kwartslagen draaien: 6x4 is 24

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Mja, dag 18 was de laatste denk ik. Ik kom er wellicht nog wel uit, die puzzle voor dag 19, maar weer veel tijd hier insteken, dat gaat me niet lukken.

Overigens kon dag 18, realiseerde ik me vanochtend, ook
spoiler:
in een list van integers, waarbij je `[` als bv -1 en `]` als -2 opslaat en dan bv voor explode haakjes tellen, (dus zie je een `[` dan +1, zie je een `]` dan -1 totdat je teller op 5 staat), dan de elements verwijderen (2 haakjes ints en 2 number ints). een List<T> heeft veelal wel remove/insert capaciteiten dus dat is makkelijk. Zoeken links/rechts is een offsetscan dus ook straightforward. Het lastigste wordt nu de magnitude berekenen (niet zo lastig maar toch) :D

[ Voor 3% gewijzigd door EfBe op 19-12-2021 09:51 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • +1 Henk 'm!

  • Asgardian28
  • Registratie: December 2012
  • Laatst online: 05-09 22:06
@EfBe je kan ook deze tijdelijk overslaan. Vaak zijn de moeilijkste puzzels in het weekend voor kerst (dit weekend)

Ik denk morgen geen kraker zoals afgelopen twee dagen.

Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
EfBe schreef op zondag 19 december 2021 @ 09:50:
Mja, dag 18 was de laatste denk ik. Ik kom er wellicht nog wel uit, die puzzle voor dag 19, maar weer veel tijd hier insteken, dat gaat me niet lukken.

Overigens kon dag 18, realiseerde ik me vanochtend, ook
spoiler:
in een list van integers, waarbij je `[` als bv -1 en `]` als -2 opslaat en dan bv voor explode haakjes tellen, (dus zie je een `[` dan +1, zie je een `]` dan -1 totdat je teller op 5 staat), dan de elements verwijderen (2 haakjes ints en 2 number ints). een List<T> heeft veelal wel remove/insert capaciteiten dus dat is makkelijk. Zoeken links/rechts is een offsetscan dus ook straightforward. Het lastigste wordt nu de magnitude berekenen (niet zo lastig maar toch) :D
^ Klopt, zo heb ik het inderdaad gedaan

Edit: Nee helemaal niet.. verkeerd gelezen :P

spoiler:
Zit wel nog de nuance in dat de numbers meerdere indexes kunnen bezetten, bijv ('16'), en de nummers links en rechts dit ook kunnen zijn.

Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Overigens vanavond pas weer tijd zoals gister, ziet er wederom uit als een lastige vandaag

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Diderikdm schreef op zondag 19 december 2021 @ 09:58:
[...]
spoiler:
Zit wel nog de nuance in dat de numbers meerdere indexes kunnen bezetten, bijv ('16'), en de nummers links en rechts dit ook kunnen zijn.
spoiler:
Daarom zet je het eerst om naar een list van integers :) Geen index problemen :) Maar idd als je het bij characters houdt dan moet je kijken naar komma's. Ik vond al raar dat die in de input stonden toen ik begon gister, want ze waren niet nodig voor de invoer. Maar nu realiseer ik me dat ze essentieel zijn voor de oplossing mocht je het houden bij een char array dat je in-place verandert
Asgardian28 schreef op zondag 19 december 2021 @ 09:58:
@EfBe je kan ook deze tijdelijk overslaan. Vaak zijn de moeilijkste puzzels in het weekend voor kerst (dit weekend)

Ik denk morgen geen kraker zoals afgelopen twee dagen.
Ah dank je. Dit is de 1e adventofcode waar ik serieus aan meedoe dus ken de karakteristieken nog niet :) Ik zal kijken of ik mezelf morgen wil pijnigen, het is tenslotte dan maandag :P

[ Voor 25% gewijzigd door EfBe op 19-12-2021 10:36 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Mijn god. Ik neem even pas op de plaats. Ik weet hoe ik het op moet lossen, maar m’n rotaties gaan mis. Ben niet scherp meer. Ben er al veel te lang mee bezig en ik moet dag 18 ook nog inhalen want ik was de hele dag iemand verhuizen….

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Afzien dit idd,uiteindelijk aardige oplossing die alleen veels te langzaam is (6 minuten), maar ik heb iig het antwoord :). Nu eerst optimalizeren.

[ Voor 25% gewijzigd door MrHaas op 19-12-2021 11:28 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-09 10:03

Creepy

Tactical Espionage Splatterer

(jarig!)
Ok, duidelijke opdracht. Nu nog een paar uur vinden om er ongestoord aan te kunnen werken :P

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • +3 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Okay, dit is wel het punt waar ik afhaak. Ik weet hoe ik het aan moet pakken maar we zitten helaas weer in een jaar waar "heul veul werk" als 'uitdagend' gezien wordt. Na gister heb ik hier dus echt ff geen zin in.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Hydra schreef op zondag 19 december 2021 @ 11:49:
Okay, dit is wel het punt waar ik afhaak. Ik weet hoe ik het aan moet pakken maar we zitten helaas weer in een jaar waar "heul veul werk" als 'uitdagend' gezien wordt. Na gister heb ik hier dus echt ff geen zin in.
Eens. Ik was gewoon chagrijning vanochtend dat het me weer heel veel tijd ging kosten. En dat is natuurlijk niet goed :)

En ik wil het dan weer oplossen met quaternions enzo... dus tja.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10-09 18:35

TrailBlazer

Karnemelk FTW

spoiler:
Ik heb nu de afstanden tussen alle punten per scanner bepaalt. Als ik vervolgens kijk welke scanners vergelijkbare afstanden hebben dan kan ik wel zien welke scanners er een overlap hebben. Alleen bepalen welke rotatie ik moet doen gaat boven mijn wiskunde skills
Iemand hier een goede python tutorial voor?

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
TrailBlazer schreef op zondag 19 december 2021 @ 12:00:
spoiler:
Ik heb nu de afstanden tussen alle punten per scanner bepaalt. Als ik vervolgens kijk welke scanners vergelijkbare afstanden hebben dan kan ik wel zien welke scanners er een overlap hebben. Alleen bepalen welke rotatie ik moet doen gaat boven mijn wiskunde skills
Iemand hier een goede python tutorial voor?

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Moest gister de hele dag helpen met verhuizen, dus heb zojuist wel Dag 18 in Kotlin gedaan. Was wel okee... gewoon heel veel leeswerk en typewerk weer.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • +1 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 22:18

DataGhost

iPL dev

Asgardian28 schreef op zondag 19 december 2021 @ 08:31:
Snapte niets van de 24 orientaties. Na een tijdje turen heb ik gewoon 48 opties gemaakt
Varienaja schreef op zondag 19 december 2021 @ 09:10:
[...]
Dat snap ik niet. Ik reken met 48 oriëntaties.
Ik stelde me de scanner voor als
spoiler:
een kubusvormige camera in de oorsprong. Zes vlakken, dus zes richtingen, en binnen elk van die zes richtingen dus vier mogelijkheden qua rotatie. Totaal 24.


Mijn oplossing van vandaag had een paar minuten nodig om alles uit te rekenen dus strikt genomen is 'ie niet correct genoeg. Ik heb wel een paar ideetjes qua optimalisatie maar die kunnen behoorlijk complex worden en ik moet nog andere dingen doen vandaag :+

[ Voor 18% gewijzigd door DataGhost op 19-12-2021 13:11 ]


Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
armageddon_2k1 schreef op zondag 19 december 2021 @ 12:00:
[...]
En ik wil het dan weer oplossen met quaternions enzo... dus tja.
Quaternions zijn niet nodig, het zijn 90 graden rotaties, dus je kunt gewoon x/y/z swappen :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • +1 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
EfBe schreef op zondag 19 december 2021 @ 13:37:
[...]

Quaternions zijn niet nodig, het zijn 90 graden rotaties, dus je kunt gewoon x/y/z swappen :)
Ja weet ik, maar ik doe gewoon moeilijk.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Zo, mn oplossing van 6m naar 15s gekregen, goed genoeg voor nu: https://github.com/arjand...ain/python/19/solution.py

Acties:
  • +1 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 21:17

Dricus

ils sont fous, ces tweakers

Dag 18 in Kotlin

Ik had gewoon geen idee hoe ik dit in Clojure op moest lossen. Ook heb ik me heel lang blind lopen staren op de voorbeelden bij deel 1. Bij een aantal voorbeelden komt mijn algoritme tot een ander resultaat dan wat in de opdracht staat. Echter, het antwoord dat mijn algoritme op mijn persoonlijke input geeft is blijkbaar wel goed...

Als iemand tijd en zin heeft, zou je dan eens een lijst kunnen genereren van de reduce tussenstappen van dit getal?
[[[[[7,0],[7,7]],[[7,7],[7,8]]],[[[7,7],[8,8]],[[7,7],[8,7]]]],[7,[5,[[3,8],[1,4]]]]]


Mijn algoritme maakt daar dit van:
[[[[7,7],[7,8]],[[9,5],[8,7]]],[[[7,8],[0,8]],[[8,9],[9,0]]]]


Dit moet het volgens de omschrijving zijn:
[[[[7,7],[7,8]],[[9,5],[8,7]]],[[[6,8],[0,8]],[[9,9],[9,0]]]]


Mijn algoritme reduceert het in 113 stappen.

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 23-08 10:21
Dricus schreef op zondag 19 december 2021 @ 14:13:
Dag 18 in Kotlin

Ik had gewoon geen idee hoe ik dit in Clojure op moest lossen. Ook heb ik me heel lang blind lopen staren op de voorbeelden bij deel 1. Bij een aantal voorbeelden komt mijn algoritme tot een ander resultaat dan wat in de opdracht staat. Echter, het antwoord dat mijn algoritme op mijn persoonlijke input geeft is blijkbaar wel goed...

Als iemand tijd en zin heeft, zou je dan eens een lijst kunnen genereren van de reduce tussenstappen van dit getal?
[[[[[7,0],[7,7]],[[7,7],[7,8]]],[[[7,7],[8,8]],[[7,7],[8,7]]]],[7,[5,[[3,8],[1,4]]]]]


Mijn algoritme maakt daar dit van:
[[[[7,7],[7,8]],[[9,5],[8,7]]],[[[7,8],[0,8]],[[8,9],[9,0]]]]


Dit moet het volgens de omschrijving zijn:
[[[[7,7],[7,8]],[[9,5],[8,7]]],[[[6,8],[0,8]],[[9,9],[9,0]]]]


Mijn algoritme reduceert het in 113 stappen.
https://pastebin.com/aLGwcVNL

Acties:
  • 0 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 21:17

Dricus

ils sont fous, ces tweakers

Thanks! Ik heb het probleem intussen toch nog op eigen houtje weten te vinden:
099 [[[[7,7],[7,8]],[[9,5],[8,0]]],[[[9,10],20],[8,[9,0]]]] (ex: null | sp: 10)
100 [[[[7,7],[7,8]],[[9,5],[8,0]]],[[[9,10],[10,10]],[8,[9,0]]]] (ex: null | sp: 10)

In stap 100 had de 10 van stap 99 gesplitst moeten worden. In plaats daarvan werd de 20 gesplitst. Deze edge case kwam in mijn input blijkbaar niet voor.

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...

Pagina: 1 ... 13 ... 16 Laatste