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-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)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
set(PROJECT_NAME AOC_2015_02)
|
||||
set(PROJECT_NAME 2015_02)
|
||||
|
||||
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)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
project(AOC)
|
||||
project(2015)
|
||||
|
||||
enable_language(ASM_NASM)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef ADVENTOFCODE_BENCHMARK_H
|
||||
#define ADVENTOFCODE_BENCHMARK_H
|
||||
#ifndef INC_2015_BENCHMARK_H
|
||||
#define INC_2015_BENCHMARK_H
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
@ -64,4 +64,4 @@ void runBenchmark(const entryPointCallback ep, char* input) {
|
||||
|
||||
#undef BENCHMARK_RUNS
|
||||
|
||||
#endif //ADVENTOFCODE_BENCHMARK_H
|
||||
#endif //INC_2015_BENCHMARK_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef ADVENTOFCODE_FILE_H
|
||||
#define ADVENTOFCODE_FILE_H
|
||||
#ifndef INC_2015_FILE_H
|
||||
#define INC_2015_FILE_H
|
||||
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
@ -65,4 +65,4 @@ char* readFile(const char* filename) {
|
||||
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/
|
||||
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/01" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/01" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/02" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/02" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/03" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/03" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/04" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/04" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/05" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/05" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/06" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/06" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/07" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/07" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,12 +1,13 @@
|
||||
<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="workingDirectory" value="file://$PROJECT_DIR$/2020/08" />
|
||||
<option name="workingDirectory" value="file://$PROJECT_DIR$/08" />
|
||||
<option name="channel" value="DEFAULT" />
|
||||
<option name="requiredFeatures" value="true" />
|
||||
<option name="allFeatures" value="false" />
|
||||
<option name="emulateTerminal" value="false" />
|
||||
<option name="withSudo" value="false" />
|
||||
<option name="buildTarget" value="REMOTE" />
|
||||
<option name="backtrace" value="SHORT" />
|
||||
<envs />
|
||||
<option name="isRedirectInput" value="false" />
|
@ -1,3 +1,5 @@
|
||||
#![allow(dead_code)]
|
||||
|
||||
use std::error::Error;
|
||||
use std::fmt::{Debug, Display, Formatter};
|
||||
use std::fs::File;
|
||||
@ -10,7 +12,6 @@ pub fn read_input_lines() -> Result<Vec<String>, io::Error> {
|
||||
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>> {
|
||||
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 {
|
||||
kotlin("jvm") version "1.6.0"
|
||||
idea
|
||||
}
|
||||
|
||||
group = "com.chylex.adventofcode"
|
||||
version = "1.0-SNAPSHOT"
|
||||
version = "1.0"
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@ -19,16 +21,14 @@ idea {
|
||||
file(".gradle"),
|
||||
file("build"),
|
||||
file("gradle"),
|
||||
file("2015"),
|
||||
file("2020")
|
||||
))
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
fun make(year: Int, day: Int) {
|
||||
fun make(day: Int) {
|
||||
val paddedDay = day.toString().padStart(2, '0')
|
||||
|
||||
val sourceFolder = file("$year/$paddedDay")
|
||||
val sourceFolder = file(paddedDay)
|
||||
val resourceFolder = sourceFolder.resolve("input")
|
||||
|
||||
if (!sourceFolder.exists()) {
|
||||
@ -38,18 +38,21 @@ sourceSets {
|
||||
resourceFolder.resolve("1.txt").writeText("")
|
||||
}
|
||||
|
||||
create("$year-$paddedDay") {
|
||||
create(paddedDay) {
|
||||
java.setSrcDirs(listOf(sourceFolder))
|
||||
resources.setSrcDirs(listOf(resourceFolder))
|
||||
}
|
||||
|
||||
tasks.register<JavaExec>(paddedDay) {
|
||||
group = "run"
|
||||
|
||||
mainClass.set("MainKt")
|
||||
workingDir = sourceFolder
|
||||
classpath = sourceSets[paddedDay].runtimeClasspath
|
||||
}
|
||||
}
|
||||
|
||||
make(2021, 1)
|
||||
make(2021, 2)
|
||||
make(2021, 3)
|
||||
make(2021, 4)
|
||||
make(2021, 5)
|
||||
make(2021, 6)
|
||||
make(2021, 7)
|
||||
make(2021, 8)
|
||||
for (day in 1..8) {
|
||||
make(day)
|
||||
}
|
||||
}
|
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
|
||||
|
||||
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.
|
||||
|
||||
## \[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.
|
||||
|
||||
## \[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.
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
rootProject.name = "Advent of Code"
|
Loading…
Reference in New Issue
Block a user