initial commit
This commit is contained in:
commit
b608247180
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/target
|
255
Cargo.lock
generated
Normal file
255
Cargo.lock
generated
Normal file
@ -0,0 +1,255 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advent-of-code-2020"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"aoc-runner",
|
||||||
|
"aoc-runner-derive",
|
||||||
|
"itertools",
|
||||||
|
"rust-crypto",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aoc-runner"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d21ef9204ad206a5a3e918e9920da04e1118ad91ce4f23570be964b9d6b9dfcb"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aoc-runner-derive"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ba8b944269d3fee645d281b1335e1797044db497bb02d0098cc3fdb8900069cc"
|
||||||
|
dependencies = [
|
||||||
|
"aoc-runner-internal",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aoc-runner-internal"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "274b0ba7f3669a45ec0aaacf94eb032a749de880ab776091576cca94037c9982"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"serde_derive",
|
||||||
|
"serde_json",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "either"
|
||||||
|
version = "1.6.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fuchsia-cprng"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gcc"
|
||||||
|
version = "0.3.55"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itertools"
|
||||||
|
version = "0.10.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itoa"
|
||||||
|
version = "0.4.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.101"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.29"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-xid",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quote"
|
||||||
|
version = "1.0.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.3.23"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand 0.4.6",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.4.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
|
||||||
|
dependencies = [
|
||||||
|
"fuchsia-cprng",
|
||||||
|
"libc",
|
||||||
|
"rand_core 0.3.1",
|
||||||
|
"rdrand",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core 0.4.2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rdrand"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core 0.3.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rust-crypto"
|
||||||
|
version = "0.2.36"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
||||||
|
dependencies = [
|
||||||
|
"gcc",
|
||||||
|
"libc",
|
||||||
|
"rand 0.3.23",
|
||||||
|
"rustc-serialize",
|
||||||
|
"time",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-serialize"
|
||||||
|
version = "0.3.24"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ryu"
|
||||||
|
version = "1.0.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.130"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.130"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_json"
|
||||||
|
version = "1.0.67"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950"
|
||||||
|
dependencies = [
|
||||||
|
"itoa",
|
||||||
|
"ryu",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "1.0.76"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-xid",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "time"
|
||||||
|
version = "0.1.44"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-xid"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.0+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||||
|
dependencies = [
|
||||||
|
"winapi-i686-pc-windows-gnu",
|
||||||
|
"winapi-x86_64-pc-windows-gnu",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-i686-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-x86_64-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
15
Cargo.toml
Normal file
15
Cargo.toml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[package]
|
||||||
|
name = "advent-of-code-2020"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
bench = false
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rust-crypto = "*"
|
||||||
|
aoc-runner = "*"
|
||||||
|
aoc-runner-derive = "*"
|
||||||
|
itertools = '*'
|
200
input/2020/day1.txt
Normal file
200
input/2020/day1.txt
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
1945
|
||||||
|
2004
|
||||||
|
1520
|
||||||
|
1753
|
||||||
|
1463
|
||||||
|
1976
|
||||||
|
1994
|
||||||
|
1830
|
||||||
|
1942
|
||||||
|
1784
|
||||||
|
1858
|
||||||
|
1841
|
||||||
|
1721
|
||||||
|
1480
|
||||||
|
1821
|
||||||
|
1584
|
||||||
|
978
|
||||||
|
1530
|
||||||
|
1278
|
||||||
|
1827
|
||||||
|
889
|
||||||
|
1922
|
||||||
|
1996
|
||||||
|
1992
|
||||||
|
1819
|
||||||
|
1847
|
||||||
|
2010
|
||||||
|
2002
|
||||||
|
210
|
||||||
|
1924
|
||||||
|
1482
|
||||||
|
1451
|
||||||
|
1867
|
||||||
|
1364
|
||||||
|
1578
|
||||||
|
1623
|
||||||
|
1117
|
||||||
|
1594
|
||||||
|
1476
|
||||||
|
1879
|
||||||
|
1797
|
||||||
|
1952
|
||||||
|
2005
|
||||||
|
1734
|
||||||
|
1898
|
||||||
|
1880
|
||||||
|
1330
|
||||||
|
1854
|
||||||
|
1813
|
||||||
|
1926
|
||||||
|
1686
|
||||||
|
1286
|
||||||
|
1808
|
||||||
|
1876
|
||||||
|
1366
|
||||||
|
1995
|
||||||
|
1632
|
||||||
|
1699
|
||||||
|
2001
|
||||||
|
1365
|
||||||
|
1343
|
||||||
|
1979
|
||||||
|
1868
|
||||||
|
1815
|
||||||
|
820
|
||||||
|
1966
|
||||||
|
1888
|
||||||
|
1916
|
||||||
|
1852
|
||||||
|
1932
|
||||||
|
1368
|
||||||
|
1606
|
||||||
|
1825
|
||||||
|
1731
|
||||||
|
1980
|
||||||
|
1990
|
||||||
|
1818
|
||||||
|
1702
|
||||||
|
1419
|
||||||
|
1897
|
||||||
|
1970
|
||||||
|
1276
|
||||||
|
1914
|
||||||
|
1889
|
||||||
|
1953
|
||||||
|
1588
|
||||||
|
1958
|
||||||
|
1310
|
||||||
|
1391
|
||||||
|
1326
|
||||||
|
1131
|
||||||
|
1959
|
||||||
|
1844
|
||||||
|
1307
|
||||||
|
1998
|
||||||
|
1961
|
||||||
|
1708
|
||||||
|
1977
|
||||||
|
1886
|
||||||
|
1946
|
||||||
|
1516
|
||||||
|
1999
|
||||||
|
1859
|
||||||
|
1931
|
||||||
|
1853
|
||||||
|
1265
|
||||||
|
1869
|
||||||
|
1642
|
||||||
|
1740
|
||||||
|
1467
|
||||||
|
1944
|
||||||
|
1956
|
||||||
|
1263
|
||||||
|
1940
|
||||||
|
1912
|
||||||
|
1832
|
||||||
|
1872
|
||||||
|
1678
|
||||||
|
1319
|
||||||
|
1839
|
||||||
|
1689
|
||||||
|
1765
|
||||||
|
1894
|
||||||
|
1242
|
||||||
|
1983
|
||||||
|
1410
|
||||||
|
1985
|
||||||
|
1387
|
||||||
|
1022
|
||||||
|
1358
|
||||||
|
860
|
||||||
|
112
|
||||||
|
1964
|
||||||
|
1836
|
||||||
|
1838
|
||||||
|
1285
|
||||||
|
1943
|
||||||
|
1718
|
||||||
|
1351
|
||||||
|
760
|
||||||
|
1925
|
||||||
|
1842
|
||||||
|
1921
|
||||||
|
1967
|
||||||
|
1822
|
||||||
|
1978
|
||||||
|
1837
|
||||||
|
1378
|
||||||
|
1618
|
||||||
|
1266
|
||||||
|
2003
|
||||||
|
1972
|
||||||
|
666
|
||||||
|
1321
|
||||||
|
1938
|
||||||
|
1616
|
||||||
|
1892
|
||||||
|
831
|
||||||
|
1865
|
||||||
|
1314
|
||||||
|
1571
|
||||||
|
1806
|
||||||
|
1225
|
||||||
|
1882
|
||||||
|
1454
|
||||||
|
1257
|
||||||
|
1381
|
||||||
|
1284
|
||||||
|
1907
|
||||||
|
1950
|
||||||
|
1887
|
||||||
|
1492
|
||||||
|
1934
|
||||||
|
1709
|
||||||
|
1315
|
||||||
|
1574
|
||||||
|
1794
|
||||||
|
1576
|
||||||
|
1883
|
||||||
|
1864
|
||||||
|
1981
|
||||||
|
1317
|
||||||
|
1397
|
||||||
|
1325
|
||||||
|
1620
|
||||||
|
1895
|
||||||
|
1485
|
||||||
|
1828
|
||||||
|
1803
|
||||||
|
1715
|
||||||
|
1374
|
||||||
|
1251
|
||||||
|
1460
|
||||||
|
1863
|
||||||
|
1581
|
||||||
|
1499
|
||||||
|
1933
|
||||||
|
1982
|
||||||
|
1809
|
||||||
|
1812
|
11
src/day1.rs
Normal file
11
src/day1.rs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
|
#[aoc_generator(day1, part1)]
|
||||||
|
pub fn generator_p1(input: &str) -> Vec<u32> {
|
||||||
|
input.lines().map(|l| l.parse().unwrap()).collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[aoc(day1, part1)]
|
||||||
|
pub fn solve_p1(input: &[u32]) -> u32 {
|
||||||
|
input.iter().permutations(2).find(|v| v[0] + v[1] == 2020).unwrap().iter().map(|a| a.clone()).product()
|
||||||
|
}
|
7
src/lib.rs
Normal file
7
src/lib.rs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate aoc_runner_derive;
|
||||||
|
extern crate aoc_runner;
|
||||||
|
|
||||||
|
pub mod day1;
|
||||||
|
|
||||||
|
aoc_lib!{ year = 2020 }
|
3
src/main.rs
Normal file
3
src/main.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user