Destroying everyone else in Advent of Code 2021 Day 22

Поделиться
HTML-код
  • Опубликовано: 27 июл 2024
  • I got 1st place on Advent of Code for the first time! Woohoo! adventofcode.com/2021/leaderb...
    0:00 Solving part 1
    4:50 Solving part 2
    10:58 Finishing
    13:07 Explanation of part 1
    14:40 Explanation of part 2
  • НаукаНаука

Комментарии • 190

  • @sanjaykhanka11
    @sanjaykhanka11 2 года назад +566

    As a beginner seeing this I feel like a 5 year old kid watching someone solve calculus having no idea what is going on but the clicking sound is pleasing. Lol!!!

  • @tbcfrankee
    @tbcfrankee Год назад +83

    I watch these videos for no reason other than to humble myself and excite myself for what I can continue to learn.

  • @aty4282
    @aty4282 2 года назад +233

    Watching this as someone who knows only the basics of scripting feels like pain

  • @hwhat
    @hwhat 2 года назад +164

    Thats a new title😂😂😂

  • @thibpat
    @thibpat 2 года назад +62

    Congrats on solving it and getting first place!
    I like that you have a library of code available to speed things up (although your typing is speed is crazy fast already!).

  • @gunthergunthold6961
    @gunthergunthold6961 2 года назад +54

    Thank you for the frequent video uploads! It is really interesting to see your thought process.

  • @fishraider7897
    @fishraider7897 2 года назад +112

    Amazing. Man, it is impressive how you can keep track of index pointer and know by heart it won't go beyond the size of the array

  • @0f0crypto
    @0f0crypto 2 года назад +22

    Coordinate compression ... lol ... what an idea! Much easier than calculating the cuboid intersections and keeping track of which ones to add and which to subtract (i mean the coordinate compression does this kinda automatically)

  • @Kytreeswerving
    @Kytreeswerving 2 года назад +35

    I tied my shoe today. I felt proud.

  • @sylentifytv
    @sylentifytv 2 года назад +101

    It's cool as the months go on I use to watch some of your vids and I didn't know a single thing now I pick up on obvious variables and loops and how stuff is happening I still overall have no idea what's happening but over the past 4 months of teaching myself coding it's cool to see me understand these videos better with time, hopefully soon enough I will be able to understand it all but amazing work and congrats on first!

    • @sayeddileri3461
      @sayeddileri3461 2 года назад +5

      How we going now champ?

    • @pchandu1995
      @pchandu1995 Год назад +1

      the code is by-product of your thoughts and solution, 4 months is a lot of time to learn coding, if you are 16+ and took 4 months to learn coding for the first time you are not giving you're all effort.
      solving and describe your self in code, this will take lot of practice. just learning coding alone is just 3 weeks is a max time.

    • @mrkatking1
      @mrkatking1 Год назад +5

      @@pchandu1995 dawg what-- it's a continuous learning how to code--same way Technology grows.

    • @zwjna
      @zwjna Год назад +3

      @@mrkatking1 He's making a distinction between coding and problem solving. When we program, we solve problems, and then we code the solution we found. Problem solving is a continuous learning, that's for sure. So is coding, but it's much more trivial.

    • @timonbubnic322
      @timonbubnic322 7 месяцев назад +1

      @@pchandu1995 he meant programming, not learning syntax...

  • @LamNguyen-jp5vh
    @LamNguyen-jp5vh Год назад +1

    I was speechless when saw this. Wish you all the best!

  • @crazieeez
    @crazieeez Год назад +2

    I love watching you code in real time. So amazing. The typing is unhuman!

  • @mind2654
    @mind2654 2 года назад

    dude never stop with tehse video names i love it

  • @Rednas34
    @Rednas34 2 года назад +3

    Insane, just watched from start to end, as a non-programmer. Amazing, keep it up, learning everyday

  • @csdoit
    @csdoit 2 года назад +2

    you are the one who inspires me the most😀

  • @nickheyer
    @nickheyer 2 года назад +3

    Even though I've been using C for over a year, and I have a decent level understanding of C++, my mind still can't keep up. I believe that is partially due to your intentional (and required for anyone to be competitive) use of pre-existing code for each problem, but mostly it's due to how insanely fast you type :D

  • @peacekeeper3743
    @peacekeeper3743 Год назад +2

    6:29 jesus...this is some pure editing skills !

  • @forthehomies7043
    @forthehomies7043 2 года назад +7

    This is what world class programming looks like

  • @japedr
    @japedr 2 года назад +15

    Hey, I have a couple of questions, if you don't mind.
    First: why the use of min/max in part 1?, I thought the text said to ignore anything outside of the +-50 region.
    Second, would your part 2 solution still work if some cubes have adjacent sides?
    I got fed up debugging my crappy cuboid-splicing implementation, and I found your video, and I subscribed milliseconds after. I'm too old and tired to even try the competitive stuff, so I guess I'll experience it second-hand.

    • @NealWuProgramming
      @NealWuProgramming  2 года назад +21

      For part 1 I was concerned that something outside +/- 50 could end up inside, but looks like that didn't happen. For part 2, should still work.

    • @japedr
      @japedr 2 года назад +3

      @@NealWuProgramming thanks!

  • @nhivuduc2256
    @nhivuduc2256 2 года назад

    How did you set up Sublime Text for compiling the C++ code for competitive programming?

  • @krog6473
    @krog6473 2 года назад +85

    *My level of coding :*
    int isMajor = true;
    *His level of coding:*
    vector grid(N, vector(N, vector(N, false)));

  • @elmopog7215
    @elmopog7215 2 года назад +4

    Your WPM are out of this world

  • @TheOriginalJohnDoe
    @TheOriginalJohnDoe 7 месяцев назад +3

    He doesn’t need autocomplete. The autocomplete needs him.

  • @Syntax753
    @Syntax753 2 года назад

    3 arrays of size 100 inited to 0. Set to 1 all ranges between - 50 and 50. Sum the arrays. No?

  • @gamecode7121
    @gamecode7121 2 года назад +1

    Congrats. Love that title 😁

  • @geetanshkaul3419
    @geetanshkaul3419 2 года назад

    Hey Neal, love your content, would you mind sharing the ubuntu version you're using :)

  • @AAlfuhaide
    @AAlfuhaide 2 года назад +26

    you're also destroying my hope of dreaming to be a programmer

    • @pontuseriksson2825
      @pontuseriksson2825 2 года назад +21

      This is competetive programming, people usually dont code this fast.

    • @test5296
      @test5296 2 года назад +16

      No one code that fast in the industry. It's pointless.

    • @bagzhansadvakassov1093
      @bagzhansadvakassov1093 Год назад +7

      Guys like this are top 1%. Most people seat all day and write simple CRUDs all day.

    • @MrCoreyTexas
      @MrCoreyTexas Год назад +1

      was just thinking of the time the journalists told the coal miners to just "learn to code" LOL

  • @alessiodvt
    @alessiodvt 2 года назад

    there is a video/website where he explain how to setup sublime like him?

  • @Hubert4515
    @Hubert4515 2 года назад +4

    im not a newbie and generally get all the things hes doing
    his speed is super impressive

  • @jakubturewicz8148
    @jakubturewicz8148 2 года назад +4

    What is your keyboard?

  • @ThatFrigginguy
    @ThatFrigginguy 2 года назад +18

    as someone who has hacked SEVERAL computers on Fallout i can confirm that this is 100 percent accurate

  • @thalestenebra1247
    @thalestenebra1247 2 года назад +1

    Which is your keyboard?

  • @JJCUBER
    @JJCUBER 2 года назад

    Just curious, how fast do you type? It looks like it’s around 200+ WPM (if you weren’t typing a ton of punctuation), but I’m probably way off.

  • @tomeknaj
    @tomeknaj 2 года назад +7

    I wouldn't even comprehend the whole thing in 11 minutes lol

  • @liammccoart7769
    @liammccoart7769 2 года назад +1

    What keyboard is this man using?

  • @ssscorpionnn35
    @ssscorpionnn35 Год назад +1

    Are these the codes of the missile written to stop an asteroid that is about to hit the world?

  • @mes2009
    @mes2009 2 года назад

    what book you recomnanded?

  • @hallvardg2247
    @hallvardg2247 Год назад +1

    Not bad, but can u center a div?

  • @NozoOfficial
    @NozoOfficial 2 года назад +6

    Congratulations on destroying everyone :>

  • @invisibleliberty2275
    @invisibleliberty2275 2 года назад

    How long have you been ion his?

  • @TheArchit1
    @TheArchit1 2 года назад +1

    New title , keep them coming. 😂

  • @Szyman12
    @Szyman12 2 года назад

    how small chance is to start learning with u ?

  • @6infinity8
    @6infinity8 2 года назад

    Oh my god...
    I'll watch it later tho; I solved it already but I'm still thinking about how I can improve it

  • @johnhammer8668
    @johnhammer8668 2 года назад +22

    2:08 Could some one explain the definition of "A" in line 45. I understand "A" is a pointer to the middle location of array "_A"(ie. location _A + 50 * 50 * 50). But what is the type it is cast to . ie. why is it cast to "(bool (*) [2 * N + 1][2 * N +1])"?

    • @Syntax753
      @Syntax753 2 года назад +3

      On/off 1/0 treated as boolean as easier to check for truth than integer equality check

    • @AlbyTheMovieCreator
      @AlbyTheMovieCreator 2 года назад +2

      I know the answer to this

    • @mohamedayoubneggaz1581
      @mohamedayoubneggaz1581 2 года назад +6

      he just wanted to do: A[-50][-50][-50]. This is negative array indexing. Note that the coordinates are given from -50 to 50. The trick is to use the fact that C store arrays in contiguous spaces so it's possible to do A[-1] which will points to one address before the first element.
      It's easier to understand for 1d since no 2d recasting shenanigans are needed. In a 1D case, if you want to use an array for -50 to 50:
      bool original_addressed[101];
      bool* negative_addressed = (bool*) &original_addressed[50];
      In this example, negative_addressed[0] is like calling original_addressed[50], which is ok.
      If you do negative_addressed[-50], this will fetch 50 adresses before the head of the pointer which happens to be at: original_addressed[50-50] = original_addressed[0]
      It's just like considering the array to start at the middle and values are spread left and right. If you don't do so, you need to always add 50 so that -50 becomes 0 and 0 becomes 50 etc. Which might makes logic a bit more fuzzier.
      For 3D-case, you just need to figure out the starting address.
      Hope that helped.

    • @MrCoreyTexas
      @MrCoreyTexas Год назад

      That is one ugly typecast! This is why people don't like C--. Seems like he typed a lot of characters to avoid having to type "+N" 3 times in 3 array index brackets.

  • @ruslanafanasiev63
    @ruslanafanasiev63 2 года назад

    what application are you using?

  • @turntechgodhead73
    @turntechgodhead73 2 года назад

    astounding!!!!

  • @alex.k4371
    @alex.k4371 2 года назад

    hey when is the next advent of code ?

  • @Nomorectrax
    @Nomorectrax 2 года назад

    What is this programming language and can someone explain what’s goin on

  • @leilei1129
    @leilei1129 2 года назад +1

    The title really summarize the whole video

  • @senor7857
    @senor7857 2 года назад

    Can anyone explain the last part sum+= X[x+1] - X[x] * -.... ?????

  • @chromosome24
    @chromosome24 2 года назад +3

    1:42 I too have that exact facial expression when programming

  • @bladekiller2766
    @bladekiller2766 2 года назад

    Why is this solution so slow in python? Like couple of minutes.

  • @rafaelmerinogarcia3769
    @rafaelmerinogarcia3769 2 года назад +1

    please could you explain why adjacent sides of cubes with the state ON are not counted twice?

    • @Jay-og4yb
      @Jay-og4yb 2 года назад +1

      They are counted twice he just subtracts an iteration

  • @yuanxuan1156
    @yuanxuan1156 2 года назад +18

    Excuse me , can you show me your config of sublime in auto-complete c++ package ?

  • @sie85
    @sie85 2 года назад

    and did it pay your bills?

  • @joaquinnavarro1675
    @joaquinnavarro1675 2 года назад

    Love your chanel, can you please share your color settings??

  • @gislo
    @gislo Год назад

    I wonder what keyboard he uses, anyone knows?

  • @KT-oz1md
    @KT-oz1md 2 года назад

    What a beast👍👍

  • @IgorSaprykin
    @IgorSaprykin Год назад

    Great job!

  • @letronix6243
    @letronix6243 8 месяцев назад

    I am impressed of the speed.

  • @joma1868
    @joma1868 2 года назад +3

    When you sleep do you see the matrix

  • @nerd6134
    @nerd6134 2 года назад

    The confidence title has ……uffff 🔥

  • @JoniniTheChickenNugget
    @JoniniTheChickenNugget 7 месяцев назад

    this may be a little stupid but it really never occurred to me that i could just manually strip the input text.... i've been doing all sorts of stripping and storing in vecs etc lmao

  • @NP96
    @NP96 2 года назад +2

    oh wow, let's see how he destroys the keyboard.
    Unbelievable speed :V

  • @onefromfuture6913
    @onefromfuture6913 2 года назад

    Can we get a camera on your keyboard?

  • @rechit947
    @rechit947 2 года назад

    can you make programming tutorial for beginner lol, it would be awesome

  • @jhem
    @jhem 2 года назад

    dude, you're genuis af.

  • @Luk3Stein
    @Luk3Stein Год назад +1

    This is how movies show programmers and hackers

  • @CheeseStickzZ
    @CheeseStickzZ 2 года назад

    Welcome to another episode of conceived in a library basement

  • @chutanminhfplhcm_k1755
    @chutanminhfplhcm_k1755 2 года назад +1

    I always look forward to the day when you press the wrong button and hit the keyboard

  • @lintello8529
    @lintello8529 2 года назад

    Love that title.

  • @gumaath5888
    @gumaath5888 2 года назад +16

    before: trying facebook hackathon
    nowdays: DESTROYING EVERYONE ELSE WITH MY CODE
    thats ma boi

  • @xxxxxGhostBoyxxxxx
    @xxxxxGhostBoyxxxxx 2 года назад +4

    Did anyone realized second and third place missed just by 7 seconds. This shit is intense.

  • @ramanuj_jindal
    @ramanuj_jindal 7 месяцев назад

    Why it feels like 2x even if it is playing in 1x😬

  • @zeo-193
    @zeo-193 7 месяцев назад +1

    Thanks RUclips for giving me emotional damage

  • @carlossegura403
    @carlossegura403 2 года назад

    🔥 🔥

  • @channegue3755
    @channegue3755 2 года назад

    Bro , are you coding bro ? Or playing games ? Super fast 💯🙉

  • @jma7379
    @jma7379 2 года назад

    what type of PC do you use?

  • @lucaslusi3973
    @lucaslusi3973 Год назад

    which programming language is he using by the way?

  • @bmwstatusmedia293
    @bmwstatusmedia293 Год назад

    Damnn 🔥🔥

  • @kafka-
    @kafka- 2 года назад

    hope someone notice this comment:
    i’m new to linux, can you tell me what distro he is using here?

  • @idcthatyourup
    @idcthatyourup Год назад

    insane

  • @gorkemsever4690
    @gorkemsever4690 2 года назад +2

    6:00 how can he do this? How can i find this combinations?

    • @emirs769
      @emirs769 2 года назад +1

      Kanka sublime'da bilmiyorum ama vscode'da alt+left click ile yapabiliyorsun. Sublime multiple cursor diye aratabilirsin.

  • @abudizoubi6739
    @abudizoubi6739 2 года назад

    can you please do my howmework?

  • @oktay9784
    @oktay9784 2 года назад

    this guy makes me anxious

  • @washedmyhair
    @washedmyhair 2 месяца назад

    Imagine what will happen if he learns vim (namely vim motions)

  • @SahraClayton
    @SahraClayton Год назад

    How can you solve a puzzle that fast while thinking and typing

    • @morenoh149
      @morenoh149 Год назад

      Usually you have already solved it in your head and then you type it out. Or you have an idea and start typing and keep developing the solution. Also if you know how to touch type the typing doesn't require thinking.

  • @mrCetus
    @mrCetus 2 года назад

    except programming, what have you learned to solve problems that fast ?

    • @firstname8078
      @firstname8078 2 года назад

      You get good by solving problems. I used to do this and was sharp and fast.

    • @Hubert4515
      @Hubert4515 2 года назад

      l i f e

  • @digitalzoul57
    @digitalzoul57 Год назад

    Waa is this your browser ? wow looks like vim

  • @radomyrz989
    @radomyrz989 Год назад +1

    "ok that makes sense".....

  • @jacson9708
    @jacson9708 2 года назад

    my dude reads that shit for 5 secs "yeah, that's make sense"

  • @shayrow9480
    @shayrow9480 2 года назад

    I wish I was smart enough. Would seem very fun to do.

  • @haxxio
    @haxxio 2 года назад

    good job

  • @bilguun-nb8ri
    @bilguun-nb8ri 2 года назад

    ty

  • @Elleozito
    @Elleozito 2 года назад

    ok so i'm a junior developer and this guys looks kinda younger, and... i mean, ok, i'm a junior but this guy has SOMETHING in his mind that can proccess EVERYTHING sooo FAST, soo please tell me u're not a junior or something like that, please tell me u're a architech/specialist/senior and work for big companies, dude i'm down bad after this video cuz i look at me and i'm saying "yeah ok, maybe i'm slow af and useless? but yeah, probably all my work all over the month could be less than 5 days with this guy working on it"

    • @bagzhansadvakassov1093
      @bagzhansadvakassov1093 Год назад +1

      Competitive programming is a beast of its own. Nobody codes like this in industry, at least what I've known. This guy does 2 things : knows how to solve complex problems (like at math olympiad), and codes his solutions (loops and some basic stuff) very fast. Yes, this is impressive and takes some training, but it is more of a sport , than real coding.

  • @marshmellow33
    @marshmellow33 8 месяцев назад +1

    incredibly based

  • @devsutong
    @devsutong Год назад

    my code more than 5 lines: Segmentation fault, Core dumped!

  • @adammaciejewski4820
    @adammaciejewski4820 2 года назад

    are u good at math ? just curious

  • @davidbasil3161
    @davidbasil3161 2 года назад +5

    and people say you need to vim to be fast...

    • @user-gp7bw1fn9e
      @user-gp7bw1fn9e 2 года назад

      hi i'm a computer noob but do you know how he types symbols so fast?

    • @mskyba
      @mskyba 2 года назад +1

      @@user-gp7bw1fn9e He has spent a lot of time typing?

    • @user-gp7bw1fn9e
      @user-gp7bw1fn9e 2 года назад

      @@mskyba I've been typing a lot myself and watched a lot competitors and i've never seen anyone type mixes of letter and symbols as fast and smoothly as him, the standard keyboards are just not meant for that and trying to type stuff like [0=0] by touch typing is just awkward since it's all done with the pinky which is why i'm wondering if he uses a custom keyboard like a kinesis advantage or whatever

    • @mskyba
      @mskyba 2 года назад

      @@user-gp7bw1fn9e I can't comment on touch typing because I don't use it, I would move my fingers up and type [0=0] with my index, middle, and ring finger on QWERTY - I agree, though, that it's possible he's using a custom keyboard optimized for programming syntax

  • @josephproano3201
    @josephproano3201 2 года назад

    no me quejo del español ni nada soy de ecuador de latam , pero me gusta programar y aveces quisera aver nacido sabiendo ingles para entender mejor algunos problemas de codigo porque aveces me queda corto mi ingles pero bueno toca segurie studiando