#naukaprogramowania #programowanie #programista15k #adventofcode #python
Dzien 12+13. Nadrobione, znowu.
Zadanie 12. jak masz w pierwszej linijce "from itertools import permutation" to już przegrałeś. Trzeba rekursje i trzymać w pamięci jaka jest długość grupy znaków i jaka powinna być. Wtedy eliminujemy niepotrzebne rekursje i część druga powinna wejść minutę po skończeniu części pierwszej.
Zadanie 13. całkiem lekkie ale strasznie trudno mi było napisać
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W 11 co się dzieje, gdy galaktyki się na tej samej linii, po prostu najkrótsza droga między tymi skrajnymi przechodzi przez środkową, czy trzeba jakoś to omijać? Raczej po prostu tak jakby tam nic nie było
#adventofcode
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #programowanie #programista15k #adventofcode #python
Dzien 10+11. Nadrobione.
Dzien 10. Czesc pierwsza to mozna bylo odruchowo wklepac BFS, albo na spokojnie przejsc caly rurociag i podzielic wynik. Czesc druga to znowu "albo znasz albo nie dasz rady", ale ja dalem rady nie znajac ani Shoelace formula ani Pick's theorem. Dla kazdego odcinka |PoprzedniaRura-ObecnaRura| policzylem wektor i znalazlem wszyskie punkty z prawej strony
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Fury_Warrior: tu masz wszystko co jest potrzebne do zadań algorytmicznych na poziomie AoC czy rozmów o pracę (i nawet więcej) https://cses.fi/book/book.pdf

Ale w książce masz teorię. Trzeba jeszcze praktyki - robić zadanka. Jak nie możesz wymyślić to czytasz tipy/poczatek rozwiązania i próbujesz. Nadal nie potrafisz - czytasz więcej, nawet do pełnego rozwiązania. W każdym razie polecam zaimplementować nawet po zrozumieniu rozwiązania

Bo i to w sumie tyle w skrócie. Jak
  • Odpowiedz
Bałem się o drugą część zadania, że będę musiał implementować coś dodatkowo, a tu wystarczyło jedynie w moim rozwiązaniu dodać „* 999999” w jednym miejscu

#adventofcode
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@n0c0Mpr3h3nD: no własnie w cześci pierwszej już tak miałem bo czułem że w czesci drugiej bedzie jakaś duża liczba

@colliee ja za pierwszym razem wpisałem "* 10000000" i potem sie głowiłem 5 minut dlaczego nie działa
  • Odpowiedz
@ElMatadore Bo przekonwertowana mapa z inputu na wartości droga/nie-droga wygląda tak, że pierwsze 3 linie są w ogóle nie używane. Więc rozpoczynam sobie konwersję od 0.0.

A najpierw wszystko co jest nie drogą konwersuje na I, a potem, jeżeli I w przedziale -1 / 1 ma sąsiada, to zamieniam na O (to będzie się wykonywało do momentu, aż nie zostanie ogrodzone przez drogę)
  • Odpowiedz
Dopiero teraz wszedem na tag i zauważyłem ten komentarz. Taki @nad__czlowiek: siedzi w piątek wieczur o 19:27 na Wykopie i pisze smęty o tym jak ktoś inny nie ma życia xD Jak to możecie śmieć lubić algorytmikę i jak to na pewno robicie w celu doszkalania się do pracy

Typowy wykopek jest typowy

#adventofcode
c.....e - Dopiero teraz wszedem na tag i zauważyłem ten komentarz. Taki @nad__czlowie...

źródło: Untitled

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@WaveCreator: a wiem, też z automatu zrobiłem BFS, a to wystarczyło raz przelecieć przez rurociąg i podzielić długość przez dwa...
Druga część prawie skończyłem ale czas wolny na ten dzień się skończył szybciej niestety. Nie wiem czy to zadziała, ale wydaje mi się że jak się przejdzie w kierunku wskazówek zegara, to każdy punkt z prawej strony do kierunku obecnej rury będzie wewnątrz tej pętli ( każdy dopóki nie napotkamy
  • Odpowiedz
#naukaprogramowania #programowanie #programista15k #adventofcode #python
Dzien 8+9. Najpierw zwykle parsowanie do dicta, potem math.lcm, bo Python (òóˇ) 9. to trochę spanikowałem i zacząłem szukać właściwości trójkąta Pascala, czy może coś z tym związane jest (tl;dr trochę tak, ale tylko jak przedostatni szereg składa się z jedynek). Po godzinie zacząłem szukać innych właściwości liczb z przykładów i
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 5
@colliee: Rok temu kilka zadań spowodowało, że postanowiłem dowiedzieć się czym jest ten dynamic programming więc znalazłem jakiś kurs na jutubie - od tego czasu minął rok, a ja mam nadal ten film otwarty jako tab w przeglądarce i nadal nie obejrzałem nawet minuty xD

Więc przyłączam się do Twojej wishlisty - może mnie to zmotywuje ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Straciłem dzisiaj z godzinę na próbowanie rozwiązania ogólnego przypadku dla części 2, zanim nie zobaczyłem w jaki regularny sposób są odwiedzane endpointy -.-

#adventofcode
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zibizz1: no wiadomo, ale jak miałbyś obsłużyć dowolny graf to nie byłoby to tak proste. Ten z zadania jest specjalnie skonstruowany by działać dla LCM: odległość do pierwszego napotkania endpointa jest taka sama jak do każdego następnego
  • Odpowiedz
#adventofcode #programowanie #programista15k

Coś mi kurde nie pykalo z piątym zadaniem pt2 do wczoraj wieczorem...

Po dosyć dużej zagwozdce jak to ogarnac, okazało się że wystarczy pousuwać zbędne struktury z klasy seedu (a miałem np. Tablice zawierająca wszystkie mapowania xD) i ogólnie z programu by ten program mi ruszył z kopyta...

Na dzisiaj już pierwsza część zrobiona,wiec powoli wychodzę na prostą xd
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tytanowyy ja dziś skopiowałem sobie part1 po czym połowe zmian do part2 zrobiłem w jednej kopii a połowę w drugiej. ( ͡° ʖ̯ ͡°) Potem jeszcze dokładne sprawdzanie dlaczego nie działa i okazało się że JJJJJ jest na końcu a nie na początku.
  • Odpowiedz
Dzisiaj super prosto. Wolę trudniejsze zadania, ale przynajmniej nie było dziś żadnego choć odrobinę upierdliwego prasowania inputu

Potyczki algorytmiczne są przesunięte i nie ma co robić w grudniu :S

#adventofcode
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #programowanie #programista15k #adventofcode
Dzień 6. a wygląda jak coś co byś się spodziewał w pierwszym dniu.
Zauważyć że w zadaniu jest nierówność kwadratowa, mikro haczyk żeby zauważyć że jak masz obydwa wyniki całkowite to musisz odjąć 1.
10-15min na pierwszą część i 10-15 sekund na drugą (tyle co parser lekko zmienić)
Jutro spodziewam się pierwszego DFS/BFS
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zauważyć że w zadaniu jest nierówność kwadratowa, mikro haczyk żeby zauważyć że jak masz obydwa wyniki całkowite to musisz odjąć 1.


@n0c0Mpr3h3nD: imo to zadanie jest genialne, bo jak tak zrobisz to tracisz czas. Sprawdzenie głupim bruteforcem pierwszego i drugiego zadania da ci wynik dużo szybciej
  • Odpowiedz