Advent-of-Code: 2021 Edition

Overview

🎅 🎄 Advent of Code 2021 ☃ïļ ❄ïļ

GitHub Workflow Status Last commit GitHub license

Description

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.

Calendar

M T W T F S S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 🎁

Benchmark

Performance benchmarked on AMD Ryzen 9 3900X (24) @ 4.0GHz, GCC 11.1.0, and with flags -O3 -march=native. Memory usage profiled using valgrind.

Day Problem Runtime (Ξs) Memory (kB)
01 Sonar Sweep 229 138
02 Dive! 285 364
03 Binary Diagnostic 302 685
04 Giant Squid 1021 697
05 Hydrothermal Venture 3185 11096
06 Lanternfish 95 126
07 The Treachery of Whales 177 137
08 Seven Segment Search 1483 363
09 Smoke Basin 359 201
10 Syntax Scoring 218 255

Build

Docker

Run directly from the docker image

docker run --rm mrlento234/advent2021:latest

From source

  1. Build using cmake in the build directory:

     make build
    
  2. Run all the days:

     make run
    
  3. Optional: make and run a specific day xx:

     cd dayxx
     make build
     cd build && ./dayxx
    

Install dependencies

Ubuntu:

apt install build-essential cmake libfmt-dev curl pandoc valgrind

Arch Linux:

pacman -S base-devel cmake curl pandoc fmt

MacOS:

brew install cmake curl pandoc fmt
Owner
Lento Manickathan
Fluid dynamics researcher // Aerospace engineer.
Lento Manickathan
0day VirtualBox 6.1.2 Escape for RealWorld CTF 2020/2021

RWCTF21-VirtualBox-61-escape 0day VirtualBox 6.1 Escape for RealWorld CTF 2020/2021 Demo What? This is our solution for RealWorld CTF's "Box Escape" c

null 121 Jun 9, 2022
2021 Fall Comp2012h Final Project. A Plant-Vs-Zombie style desktop game with beautiful graphics and sound effects. Developer: thomas914, mitester and tiliuau.

Underperforming Students vs Teachers Table of Contents Underperforming Students vs Teachers Table of Contents Authors Code Conventions Workflow Class

null 3 Apr 14, 2022
A single header C++ library for parsing command line arguments and options with minimal amount of code

Quick Arg Parser Tired of unwieldy tools like getopt or argp? Quick Arg Parser is a single header C++ library for parsing command line arguments

null 44 Feb 21, 2022
null 76 Apr 18, 2022
DollarSkip is a short piece of C code designed to ignore the dollar symbol at the start of commands.

DollarSkip is a short piece of C code designed to ignore the dollar symbol at the start of commands.

null 19 Apr 15, 2022
A simple command line application in order to create new Code workspaces.

mkcws Summary A simple command line application in order to create new Code workspaces. License This project's license is GPL 2. The whole license tex

Kevin Matthes 0 Apr 1, 2022
This contains code and relevant schematics from my Applied Digital Signal Processing class, where we developed various digital filters on the NXP FRDM K22F development board.

#dsp_class Summary This repo is meant to hold any of the C and MATLAB programming I did over the course of my Applied Digital Signal Processing class

Abdullah Almosalami 1 Nov 11, 2021
Spitfire is a basic terminal language that can exicute code via the terminal.

Spitfire is a basic terminal language that can exicute code via the terminal. It is easy to learn and runs fast, considering that its just a 300 line c++ file.

jhomas tefferson 0 Nov 18, 2021
A command-line tool to generate Linux manual pages from C source code.

mangen A command-line tool to generate Linux manual pages from C source code. Description mangen is, as said above, a program to generate Linux manual

null 2 Nov 15, 2021
CodeCompactor is an open source program designed for reducing the size of your code!

CodeCompacter An exciting, new and open source program for reducing the length of your code! Usage: ./CodeCompacter {ARGUMENTS} Arguments: -L {languag

Henry Dewsnap 1 Nov 28, 2021
This is the massive repository for all code for the class CIS3250 Fall Semester.

========================================== Transforming Shapes Through Matrix Multiplication ========================================== Description o

null 4 Nov 25, 2021
This repository contains the source code of the project(StereoCraft) that we have developed for the Mixed Reality Hackathon organized by Microsoft using StereoKit SDK

StereoCraft - A block-building like experience built using StereoKit This repository contains the source code of the project that we have developed fo

G Bhanuteja 2 Dec 23, 2021
CppCompetitor - A program for dueling code bots.

CPP Competitor CPP Competetior is a mini program that's let you battle code bots. To get it running you only need A class for controlling the game's s

Nikola Dimitroff 1 Apr 23, 2020
nicegraf-shaderc is a command-line tool that transforms HLSL code into shaders for various graphics APIs.

User Manual Table of Contents Introduction Project Status Obtaining the Source Code and Building Running Defining Techniques Generated Header File Pip

nicebyte 88 Jun 20, 2022
Modern C++ solutions for Advent of Code 2021

Modern C++ Solutions for Advent of Code 2021 This repository contains solution for the Advent of Code 2021 and serve as base for articles with explana

RNDr. Simon Toth 25 Jun 19, 2022
Attempts at the 2021 advent of code!

advent-of-code-21 Attempts at the 2021 advent of code! Also, here's our private leaderboard on the AoC site (speak to Tom to get added, you'll also ne

Emily Hunt 5 Jan 5, 2022
Advent of Code 2021 - Solved on a NES

Advent of Code 2021 - On an NES Quest to complete Advent of Code 2021 on a unmodified 8-bit NES. Should (and does) run on physical hardware. Uses MMC1

Pellsson 23 May 26, 2022
Advent of Code 2021 optimized solutions in C++

advent2021-fast These solutions are a work in progress. Advent of Code 2021 optimized C++ solutions. Here are the timings from an example run on an i9

Andrew Skalski 6 Feb 5, 2022
My ANSI C solutions for Advent of Code.

ansi-adventure My optimized ANSI C solutions for Advent of Code. I tried favoring speed and performance the most here than most advent of code repos.

2 Dec 12, 2021
Yearly ./run of Advent Of Code

AoC++ Advent of Code 2021 problem solutions written in C++ Build mkdir build cd build cmake .. make all Run ./day1part1 <input> See problems here ht

Felix 2 May 25, 2022
Local Privilege Escalation Edition for CVE-2021-1675

Local Privilege Escalation Edition of CVE-2021-1675/CVE-2021-34527 Local Privilege Escalation implementation of the CVE-2021-1675/CVE-2021-34527 (a.k.

Halil Dalabasmaz 329 Jun 15, 2022
Kernel source code of EZ-FLASH OMEGA Definitive Edition

#EZ-FLASH Omega Definitive Edition Kernel How to build 1.We use devkitARM_r53, you can use the current version or newer. 2.Set the following environme

null 33 Jun 30, 2022
Source Code for 'Practical C++ Design, 2nd Edition' by Adam B. Singer

Apress Source Code This repository accompanies Practical C++ Design by Adam B. Singer (Apress, 2022). Download the files as a zip using the green butt

Apress 10 May 24, 2022
Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.

pbrt, Version 3 This repository holds the source code to the version of pbrt that is described in the third edition of Physically Based Rendering: Fro

Matt Pharr 4.2k Jul 2, 2022
vulnerability in zam64.sys, zam32.sys allowing ring 0 code execution. CVE-2021-31727 and CVE-2021-31728 public reference.

CVE-2021-31727 and CVE-2021-31728 Public Reference for CVE-2021-31727 Exposes unrestricted disk read/write capabilities. Public Reference for CVE-2021

null 60 Jun 20, 2022
🌞 Homework of Computer Systems: A Programmer's Perspective (3rd Edition) and Autolab solutions of CMU 15-513: Intro to Computer Systems

Exercisebook of Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e) CS:APP3e is written by Randal E. Bryant and David R. O'Hallaron, Carnegie

halfrost 28 Mar 10, 2022
A small proxy DLL which enables dev. console in Mass Effect 1, 2 and 3 (Legendary Edition).

LEBinkProxy A small proxy DLL which enables dev. console in Mass Effect 1, 2 and 3 (Legendary Edition). Usage In your game binary directory (Game\ME?\

null 10 Jan 6, 2022
Final version of Plan 9 4th Edition from Bell Labs

This is a re-release of the final version of the 4th Edition of Plan 9 from Bell Labs distributed directly by Bell Labs. 4th Edition was originally r

Serge Vakulenko 8 Jun 21, 2022
Mirror of Plan 9 4th Edition from p9f

This is a re-release of the 4th Edition of Plan 9 from Bell Labs. 4th Edition was originally released by Lucent Technologies in 2002. It was released

Plan9 Archive 7 May 14, 2022