mirror of
https://github.com/chylex/Advent-of-Code.git
synced 2024-11-25 14:42:48 +01:00
Compare commits
4 Commits
59db6f9c82
...
4407184536
Author | SHA1 | Date | |
---|---|---|---|
4407184536 | |||
ee22516eb6 | |||
c4d7d26bfd | |||
9e3e084c76 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,12 +0,0 @@
|
|||||||
/.gradle/
|
|
||||||
/build/
|
|
||||||
|
|
||||||
/.idea/compiler.xml
|
|
||||||
/.idea/dictionaries
|
|
||||||
/.idea/encodings.xml
|
|
||||||
/.idea/gradle.xml
|
|
||||||
/.idea/inspectionProfiles/
|
|
||||||
/.idea/jarRepositories.xml
|
|
||||||
/.idea/modules.xml
|
|
||||||
/.idea/vcs.xml
|
|
||||||
/.idea/*.iml
|
|
3
.idea/.gitignore
vendored
3
.idea/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
@ -1 +0,0 @@
|
|||||||
AdventOfCode
|
|
@ -1,34 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$/2015">
|
|
||||||
<contentRoot DIR="$PROJECT_DIR$" />
|
|
||||||
</component>
|
|
||||||
<component name="CidrRootsConfiguration">
|
|
||||||
<sourceRoots>
|
|
||||||
<file path="$PROJECT_DIR$/2015" />
|
|
||||||
<file path="$PROJECT_DIR$/2020" />
|
|
||||||
</sourceRoots>
|
|
||||||
<excludeRoots>
|
|
||||||
<file path="$PROJECT_DIR$/.gradle" />
|
|
||||||
<file path="$PROJECT_DIR$/2020/target" />
|
|
||||||
<file path="$PROJECT_DIR$/2021" />
|
|
||||||
<file path="$PROJECT_DIR$/build" />
|
|
||||||
<file path="$PROJECT_DIR$/gradle" />
|
|
||||||
</excludeRoots>
|
|
||||||
</component>
|
|
||||||
<component name="CodeInsightWorkspaceSettings">
|
|
||||||
<option name="optimizeImportsOnTheFly" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="ComposerSettings">
|
|
||||||
<execution />
|
|
||||||
</component>
|
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
||||||
<component name="JsFlowSettings">
|
|
||||||
<service-enabled>true</service-enabled>
|
|
||||||
<exe-path />
|
|
||||||
<other-services-enabled>true</other-services-enabled>
|
|
||||||
<auto-save>true</auto-save>
|
|
||||||
</component>
|
|
||||||
<component name="PhpProjectSharedConfiguration" php_language_level="7.4" />
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" />
|
|
||||||
</project>
|
|
@ -1,7 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2015 - Day 01" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/2015/01" PASS_PARENT_ENVS_2="true" PROJECT_NAME="AOC" TARGET_NAME="AOC_2015_01" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="AOC" RUN_TARGET_NAME="AOC_2015_01">
|
|
||||||
<method v="2">
|
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,7 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2015 - Day 02" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/2015/02" PASS_PARENT_ENVS_2="true" PROJECT_NAME="AOC" TARGET_NAME="AOC_2015_02" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="AOC" RUN_TARGET_NAME="AOC_2015_02">
|
|
||||||
<method v="2">
|
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,7 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2015 - Day 03" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/2015/03" PASS_PARENT_ENVS_2="true" PROJECT_NAME="AOC" TARGET_NAME="AOC_2015_03" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="AOC" RUN_TARGET_NAME="AOC_2015_03">
|
|
||||||
<method v="2">
|
|
||||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,11 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2021 - Day 01" type="JetRunConfigurationType">
|
|
||||||
<option name="MAIN_CLASS_NAME" value="MainKt" />
|
|
||||||
<module name="Advent_of_Code.2021-01" />
|
|
||||||
<shortenClasspath name="NONE" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/2021/01" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,11 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2021 - Day 02" type="JetRunConfigurationType">
|
|
||||||
<option name="MAIN_CLASS_NAME" value="MainKt" />
|
|
||||||
<module name="Advent_of_Code.2021-02" />
|
|
||||||
<shortenClasspath name="NONE" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/2021/02" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,11 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2021 - Day 03" type="JetRunConfigurationType">
|
|
||||||
<option name="MAIN_CLASS_NAME" value="MainKt" />
|
|
||||||
<module name="Advent_of_Code.2021-03" />
|
|
||||||
<shortenClasspath name="NONE" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/2021/03" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
@ -1,11 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="2021 - Day 04" type="JetRunConfigurationType">
|
|
||||||
<option name="MAIN_CLASS_NAME" value="MainKt" />
|
|
||||||
<module name="Advent_of_Code.2021-04" />
|
|
||||||
<shortenClasspath name="NONE" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/2021/04" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
5
2015/.gitignore
vendored
5
2015/.gitignore
vendored
@ -1,2 +1,7 @@
|
|||||||
|
/.idea/*
|
||||||
|
!/.idea/cmake.xml
|
||||||
|
!/.idea/misc.xml
|
||||||
|
!/.idea/runConfigurations
|
||||||
|
|
||||||
/cmake-build-debug/
|
/cmake-build-debug/
|
||||||
/cmake-build-release/
|
/cmake-build-release/
|
||||||
|
12
2015/.idea/misc.xml
Normal file
12
2015/.idea/misc.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||||
|
<component name="CidrRootsConfiguration">
|
||||||
|
<sourceRoots>
|
||||||
|
<file path="$PROJECT_DIR$/01" />
|
||||||
|
<file path="$PROJECT_DIR$/02" />
|
||||||
|
<file path="$PROJECT_DIR$/03" />
|
||||||
|
<file path="$PROJECT_DIR$/utils" />
|
||||||
|
</sourceRoots>
|
||||||
|
</component>
|
||||||
|
</project>
|
7
2015/.idea/runConfigurations/Day_01.xml
Normal file
7
2015/.idea/runConfigurations/Day_01.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 01" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/01" PASS_PARENT_ENVS_2="true" PROJECT_NAME="2015" TARGET_NAME="2015_01" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="2015" RUN_TARGET_NAME="2015_01">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
7
2015/.idea/runConfigurations/Day_02.xml
Normal file
7
2015/.idea/runConfigurations/Day_02.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 02" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/02" PASS_PARENT_ENVS_2="true" PROJECT_NAME="2015" TARGET_NAME="2015_02" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="2015" RUN_TARGET_NAME="2015_02">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
7
2015/.idea/runConfigurations/Day_03.xml
Normal file
7
2015/.idea/runConfigurations/Day_03.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 03" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" WORKING_DIR="file://$PROJECT_DIR$/03" PASS_PARENT_ENVS_2="true" PROJECT_NAME="2015" TARGET_NAME="2015_03" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="2015" RUN_TARGET_NAME="2015_03">
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
@ -1,4 +1,4 @@
|
|||||||
set(PROJECT_NAME AOC_2015_01)
|
set(PROJECT_NAME 2015_01)
|
||||||
|
|
||||||
project(${PROJECT_NAME} C ASM_NASM)
|
project(${PROJECT_NAME} C ASM_NASM)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
set(PROJECT_NAME AOC_2015_02)
|
set(PROJECT_NAME 2015_02)
|
||||||
|
|
||||||
project(${PROJECT_NAME} C ASM_NASM)
|
project(${PROJECT_NAME} C ASM_NASM)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
set(PROJECT_NAME AOC_2015_03)
|
set(PROJECT_NAME 2015_03)
|
||||||
|
|
||||||
project(${PROJECT_NAME} C ASM_NASM)
|
project(${PROJECT_NAME} C ASM_NASM)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
|
||||||
project(AOC)
|
project(2015)
|
||||||
|
|
||||||
enable_language(ASM_NASM)
|
enable_language(ASM_NASM)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef ADVENTOFCODE_BENCHMARK_H
|
#ifndef INC_2015_BENCHMARK_H
|
||||||
#define ADVENTOFCODE_BENCHMARK_H
|
#define INC_2015_BENCHMARK_H
|
||||||
|
|
||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
|
|
||||||
@ -64,4 +64,4 @@ void runBenchmark(const entryPointCallback ep, char* input) {
|
|||||||
|
|
||||||
#undef BENCHMARK_RUNS
|
#undef BENCHMARK_RUNS
|
||||||
|
|
||||||
#endif //ADVENTOFCODE_BENCHMARK_H
|
#endif //INC_2015_BENCHMARK_H
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef ADVENTOFCODE_FILE_H
|
#ifndef INC_2015_FILE_H
|
||||||
#define ADVENTOFCODE_FILE_H
|
#define INC_2015_FILE_H
|
||||||
|
|
||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
@ -65,4 +65,4 @@ char* readFile(const char* filename) {
|
|||||||
return contents;
|
return contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //ADVENTOFCODE_FILE_H
|
#endif //INC_2015_FILE_H
|
||||||
|
3
2020/.gitignore
vendored
3
2020/.gitignore
vendored
@ -1 +1,4 @@
|
|||||||
|
/.idea/*
|
||||||
|
!/.idea/runConfigurations
|
||||||
|
|
||||||
/target/
|
/target/
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 01" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 01" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 01" />
|
<option name="command" value="run --bin 01" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/01" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/01" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 02" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 02" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 02" />
|
<option name="command" value="run --bin 02" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/02" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/02" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 03" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 03" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 03" />
|
<option name="command" value="run --bin 03" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/03" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/03" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 04" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 04" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 04" />
|
<option name="command" value="run --bin 04" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/04" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/04" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 05" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 05" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 05" />
|
<option name="command" value="run --bin 05" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/05" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/05" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 06" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 06" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 06" />
|
<option name="command" value="run --bin 06" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/06" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/06" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 07" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 07" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 07" />
|
<option name="command" value="run --bin 07" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/07" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/07" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="2020 - Day 08" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
<configuration default="false" name="Day 08" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
|
||||||
<option name="command" value="run --bin 08" />
|
<option name="command" value="run --bin 08" />
|
||||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/2020/08" />
|
<option name="workingDirectory" value="file://$PROJECT_DIR$/08" />
|
||||||
<option name="channel" value="DEFAULT" />
|
<option name="channel" value="DEFAULT" />
|
||||||
<option name="requiredFeatures" value="true" />
|
<option name="requiredFeatures" value="true" />
|
||||||
<option name="allFeatures" value="false" />
|
<option name="allFeatures" value="false" />
|
||||||
<option name="emulateTerminal" value="false" />
|
<option name="emulateTerminal" value="false" />
|
||||||
<option name="withSudo" value="false" />
|
<option name="withSudo" value="false" />
|
||||||
|
<option name="buildTarget" value="REMOTE" />
|
||||||
<option name="backtrace" value="SHORT" />
|
<option name="backtrace" value="SHORT" />
|
||||||
<envs />
|
<envs />
|
||||||
<option name="isRedirectInput" value="false" />
|
<option name="isRedirectInput" value="false" />
|
@ -1,3 +1,5 @@
|
|||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
use std::fmt::{Debug, Display, Formatter};
|
use std::fmt::{Debug, Display, Formatter};
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
@ -10,7 +12,6 @@ pub fn read_input_lines() -> Result<Vec<String>, io::Error> {
|
|||||||
return BufReader::new(file).lines().collect();
|
return BufReader::new(file).lines().collect();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
|
||||||
pub fn parse_input_lines<T : FromStr>() -> Result<Vec<T>, Box<dyn Error>> where <T as FromStr>::Err : Into<Box<dyn Error>> {
|
pub fn parse_input_lines<T : FromStr>() -> Result<Vec<T>, Box<dyn Error>> where <T as FromStr>::Err : Into<Box<dyn Error>> {
|
||||||
return read_input_lines()?.iter().map(|line| line.parse::<T>()).collect::<Result<Vec<T>, T::Err>>().map_err(Into::into);
|
return read_input_lines()?.iter().map(|line| line.parse::<T>()).collect::<Result<Vec<T>, T::Err>>().map_err(Into::into);
|
||||||
}
|
}
|
||||||
|
5
2021/.gitignore
vendored
Normal file
5
2021/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
/.idea/*
|
||||||
|
!/.idea/runConfigurations
|
||||||
|
|
||||||
|
/.gradle/
|
||||||
|
/build/
|
23
2021/.idea/runConfigurations/Day_01.xml
Normal file
23
2021/.idea/runConfigurations/Day_01.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 01" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="01" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_02.xml
Normal file
23
2021/.idea/runConfigurations/Day_02.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 02" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="02" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_03.xml
Normal file
23
2021/.idea/runConfigurations/Day_03.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 03" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="03" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_04.xml
Normal file
23
2021/.idea/runConfigurations/Day_04.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 04" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="04" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_05.xml
Normal file
23
2021/.idea/runConfigurations/Day_05.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 05" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="05" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_06.xml
Normal file
23
2021/.idea/runConfigurations/Day_06.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 06" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="06" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_07.xml
Normal file
23
2021/.idea/runConfigurations/Day_07.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 07" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="07" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
23
2021/.idea/runConfigurations/Day_08.xml
Normal file
23
2021/.idea/runConfigurations/Day_08.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Day 08" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="--quiet" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value="08" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
@ -1,10 +1,12 @@
|
|||||||
|
@file:Suppress("ConvertLambdaToReference")
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "1.6.0"
|
kotlin("jvm") version "1.6.0"
|
||||||
idea
|
idea
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.chylex.adventofcode"
|
group = "com.chylex.adventofcode"
|
||||||
version = "1.0-SNAPSHOT"
|
version = "1.0"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@ -19,16 +21,14 @@ idea {
|
|||||||
file(".gradle"),
|
file(".gradle"),
|
||||||
file("build"),
|
file("build"),
|
||||||
file("gradle"),
|
file("gradle"),
|
||||||
file("2015"),
|
|
||||||
file("2020")
|
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
fun make(year: Int, day: Int) {
|
fun make(day: Int) {
|
||||||
val paddedDay = day.toString().padStart(2, '0')
|
val paddedDay = day.toString().padStart(2, '0')
|
||||||
|
|
||||||
val sourceFolder = file("$year/$paddedDay")
|
val sourceFolder = file(paddedDay)
|
||||||
val resourceFolder = sourceFolder.resolve("input")
|
val resourceFolder = sourceFolder.resolve("input")
|
||||||
|
|
||||||
if (!sourceFolder.exists()) {
|
if (!sourceFolder.exists()) {
|
||||||
@ -38,18 +38,21 @@ sourceSets {
|
|||||||
resourceFolder.resolve("1.txt").writeText("")
|
resourceFolder.resolve("1.txt").writeText("")
|
||||||
}
|
}
|
||||||
|
|
||||||
create("$year-$paddedDay") {
|
create(paddedDay) {
|
||||||
java.setSrcDirs(listOf(sourceFolder))
|
java.setSrcDirs(listOf(sourceFolder))
|
||||||
resources.setSrcDirs(listOf(resourceFolder))
|
resources.setSrcDirs(listOf(resourceFolder))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register<JavaExec>(paddedDay) {
|
||||||
|
group = "run"
|
||||||
|
|
||||||
|
mainClass.set("MainKt")
|
||||||
|
workingDir = sourceFolder
|
||||||
|
classpath = sourceSets[paddedDay].runtimeClasspath
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
make(2021, 1)
|
for (day in 1..8) {
|
||||||
make(2021, 2)
|
make(day)
|
||||||
make(2021, 3)
|
}
|
||||||
make(2021, 4)
|
|
||||||
make(2021, 5)
|
|
||||||
make(2021, 6)
|
|
||||||
make(2021, 7)
|
|
||||||
make(2021, 8)
|
|
||||||
}
|
}
|
0
gradlew → 2021/gradlew
vendored
0
gradlew → 2021/gradlew
vendored
0
gradlew.bat → 2021/gradlew.bat
vendored
0
gradlew.bat → 2021/gradlew.bat
vendored
1
2021/settings.gradle.kts
Normal file
1
2021/settings.gradle.kts
Normal file
@ -0,0 +1 @@
|
|||||||
|
rootProject.name = "2021"
|
12
README.md
12
README.md
@ -8,19 +8,25 @@ I have included Run Configurations for JetBrains IDEs, so if you use the appropr
|
|||||||
|
|
||||||
## \[2021\] Kotlin
|
## \[2021\] Kotlin
|
||||||
|
|
||||||
The repository contains a Gradle project (`build.gradle.kts`) that sets up every day as a module. You should be able to load the Gradle project into [IntelliJ IDEA](https://www.jetbrains.com/idea/).
|
The repository contains a Gradle project (`2021/build.gradle.kts`) that sets up every day as a source root and a task that can be launched with `gradlew <day>`, for ex. `gradlew 01`.
|
||||||
|
|
||||||
|
You should be able to load the Gradle project into [IntelliJ IDEA](https://www.jetbrains.com/idea/).
|
||||||
|
|
||||||
The source code is in `main.kt`. The run configuration executes the `main()` method in this file.
|
The source code is in `main.kt`. The run configuration executes the `main()` method in this file.
|
||||||
|
|
||||||
## \[2020\] Rust
|
## \[2020\] Rust
|
||||||
|
|
||||||
The repository contains a Cargo project (`2020/Cargo.toml`) that sets up every day as a binary target that can be launched with `cargo run --bin <day>`, for ex. `cargo run --bin 01`. You should be able to load the Cargo project into [CLion](https://www.jetbrains.com/clion/).
|
The repository contains a Cargo project (`2020/Cargo.toml`) that sets up every day as a binary target that can be launched with `cargo run --bin <day>`, for ex. `cargo run --bin 01`.
|
||||||
|
|
||||||
|
You should be able to load the Cargo project into [CLion](https://www.jetbrains.com/clion/).
|
||||||
|
|
||||||
The source code is in `main.rs`. The run configuration executes the `main()` function in this file.
|
The source code is in `main.rs`. The run configuration executes the `main()` function in this file.
|
||||||
|
|
||||||
## \[2015\] NASM x64 Assembly
|
## \[2015\] NASM x64 Assembly
|
||||||
|
|
||||||
The repository contains a CMake project (`2015/CMakeLists.txt`) in the respective year's folder, which sets up every day as a CMake subproject. You should be able to load the CMake project into [CLion](https://www.jetbrains.com/clion/), as long as you have a toolchain named `Visual Studio x64` set to use the `amd64` architecture.
|
The repository contains a CMake project (`2015/CMakeLists.txt`) in the respective year's folder, which sets up every day as a CMake subproject.
|
||||||
|
|
||||||
|
You should be able to load the CMake project into [CLion](https://www.jetbrains.com/clion/), as long as you have a toolchain named `Visual Studio x64` set to use the `amd64` architecture.
|
||||||
|
|
||||||
The source code is in `main.c`, which is either in the puzzle's own folder, or in `utils` if no adjustments are needed. By default, `main.c` reads the whole input file into a buffer, and passes it as a parameter to the `entryPoint` function defined in `main.asm` which implements the logic and output of each puzzle.
|
The source code is in `main.c`, which is either in the puzzle's own folder, or in `utils` if no adjustments are needed. By default, `main.c` reads the whole input file into a buffer, and passes it as a parameter to the `entryPoint` function defined in `main.asm` which implements the logic and output of each puzzle.
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
rootProject.name = "Advent of Code"
|
|
Loading…
Reference in New Issue
Block a user