This commit is contained in:
parent
c0326ec08e
commit
3032a7ef81
|
@ -1,8 +1,10 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 1)
|
||||
let lines = input.splitLines().mapIt(it.parseInt())
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 1)
|
||||
let lines = input.splitLines().mapIt(it.parseInt())
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
strutils,
|
||||
strformat
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 2)
|
||||
let lines = input.splitLines()
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 3)
|
||||
let lines = input.splitLines()
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 3)
|
||||
let lines = input.splitLines()
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import
|
||||
std/math,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat
|
||||
|
||||
import
|
||||
x/board
|
||||
./x/board
|
||||
|
||||
let input = adventofcode.getInput(2021, 4)
|
||||
let lines = input.splitLines()
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import
|
||||
std/math,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat
|
||||
|
||||
import
|
||||
x/board
|
||||
./x/board
|
||||
|
||||
let input = adventofcode.getInput(2021, 4)
|
||||
let lines = input.splitLines()
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
hashes,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat,
|
||||
tables
|
||||
std/hashes,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils,
|
||||
std/tables
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
type
|
||||
Grid = TableRef[Point, int]
|
||||
|
@ -22,10 +24,10 @@ B = b >= 0 ? 2 * b : -2 * b - 1;
|
|||
A >= B ? A * A + A + B : A + B * B;
|
||||
]#
|
||||
proc hash(p: Point): Hash =
|
||||
let A =
|
||||
let A = block:
|
||||
if p.x >= 0: 2 * p.x
|
||||
else: -2 * p.x - 1
|
||||
let B =
|
||||
let B = block:
|
||||
if p.y >= 0: 2 * p.y
|
||||
else: -2 * p.y - 1
|
||||
return
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
sequtils,
|
||||
strutils,
|
||||
strformat,
|
||||
tables
|
||||
std/math,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils,
|
||||
std/tables
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
type
|
||||
Cycle = int
|
||||
|
@ -43,7 +45,7 @@ proc newDay() =
|
|||
fishes[cycle] += temporaryBox[cycle]
|
||||
|
||||
when isMainModule:
|
||||
const simulateDays =
|
||||
const simulateDays = block:
|
||||
when defined(second): 256
|
||||
else: 80
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
options,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils
|
||||
std/options,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 7)[0 .. ^2]
|
||||
#let input = "16,1,2,0,4,2,7,1,2,14" # Example given
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils
|
||||
|
||||
std/math,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let input = adventofcode.getInput(2021, 7)
|
||||
#let input = "16,1,2,0,4,2,7,1,2,14" # Example given
|
||||
let crabs = input.split(",").mapIt(it.parseInt())
|
||||
|
||||
let avg = toInt math.floor((math.sum crabs) / crabs.len())
|
||||
let avg = (math.sum crabs) div crabs.len()
|
||||
|
||||
var fuel = 0
|
||||
for crab in crabs:
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils,
|
||||
tables
|
||||
std/math,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils,
|
||||
std/tables
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
let lines = adventofcode.getInput(2021, 8).splitLines()
|
||||
var decodedDigits = newTable[int, int]()
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import
|
||||
../../adventofcode,
|
||||
math,
|
||||
options,
|
||||
sequtils,
|
||||
strformat,
|
||||
strutils
|
||||
std/math,
|
||||
std/options,
|
||||
std/sequtils,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
import
|
||||
../../adventofcode
|
||||
|
||||
type
|
||||
Grid = seq[seq[int]]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import
|
||||
httpclient,
|
||||
os,
|
||||
strformat,
|
||||
strutils
|
||||
std/httpclient,
|
||||
std/os,
|
||||
std/strformat,
|
||||
std/strutils
|
||||
|
||||
proc getInput*(year, day: int): string =
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue