mirror of
https://github.com/plasmaofthedawn/2023adventofcode.git
synced 2024-10-18 08:16:25 -05:00
python day 4 and pascal day 6
This commit is contained in:
parent
11d60a55a9
commit
a4b171a439
11
Makefile
11
Makefile
@ -48,5 +48,16 @@ day5part2:
|
||||
@echo
|
||||
./build/day5part2
|
||||
|
||||
day6part1:
|
||||
fpc src/day6/part1.pas -obuild/day6part1
|
||||
@echo
|
||||
./build/day6part1
|
||||
|
||||
day6part2:
|
||||
fpc src/day6/part2.pas -obuild/day6part2
|
||||
@echo
|
||||
./build/day6part2
|
||||
|
||||
|
||||
clean:
|
||||
rm build/*
|
11
pythonsrc/day4/part1.py
Normal file
11
pythonsrc/day4/part1.py
Normal file
@ -0,0 +1,11 @@
|
||||
print(
|
||||
sum([[0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512][p] for p in
|
||||
[sum(
|
||||
[[b in x[0] for b in x[1]] for x in [
|
||||
[[int(y) for y in x.strip().split(" ") if len(y) != 0] for x in l.split(':')[1].split("|")]
|
||||
]][0]
|
||||
) for l in open("resources/day4.txt").readlines()]
|
||||
])
|
||||
)
|
||||
|
||||
# sum([[0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512][p] for p in [sum([[b in x[0] for b in x[1]] for x in [[[int(y) for y in x.strip().split(" ") if len(y) != 0] for x in l.split(':')[1].split("|")]]][0]) for l in open("resources/day4.txt").readlines()]])
|
34
pythonsrc/day4/part2.py
Normal file
34
pythonsrc/day4/part2.py
Normal file
@ -0,0 +1,34 @@
|
||||
def print2d(x):
|
||||
print("\n".join([str(xx) for xx in x]))
|
||||
|
||||
a = [sum(
|
||||
[[b in x[0] for b in x[1]] for x in [
|
||||
[[int(y) for y in x.strip().split(" ") if len(y) != 0] for x in l.split(':')[1].split("|")]
|
||||
]][0]
|
||||
) for l in open("resources/day4.txt").readlines()]
|
||||
|
||||
# print(a)
|
||||
|
||||
b = [
|
||||
[d[x] for x in range(20) for d in [a]]
|
||||
]
|
||||
|
||||
|
||||
e = [2, 1, 1, 0, 0]
|
||||
|
||||
# [1, 2, 4, 5, 1]
|
||||
|
||||
# [0, 1, 1, 0, 0]
|
||||
# [0, 0, 1, 0, 0]
|
||||
# [0, 0, 0, 1, 0]
|
||||
# [0, 0, 0, 0, 0]
|
||||
# [0, 0, 0, 0, 0]
|
||||
|
||||
p = [[1 if x > c and x < c + 1 + i else 0 for x in range(5)] for c, i in enumerate(e)]
|
||||
|
||||
print2d(p)
|
||||
print(p)
|
||||
|
||||
print([
|
||||
[sum([p[x][y] for x in range(5)]) for y in range(5)]
|
||||
])
|
2
resources/day6.txt
Normal file
2
resources/day6.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Time: 57 72 69 92
|
||||
Distance: 291 1172 1176 2026
|
35
src/day6/part1.pas
Normal file
35
src/day6/part1.pas
Normal file
@ -0,0 +1,35 @@
|
||||
program day5part1;
|
||||
uses sysutils;
|
||||
|
||||
type
|
||||
SState = (ToColon, WasteSpace, ReadSeeds, NewLine);
|
||||
MState = (Seed, WaitMap, ReadMap);
|
||||
|
||||
|
||||
var
|
||||
|
||||
race_times: array of int32 = (57, 72, 69, 92);
|
||||
race_distances: array of int32 = (291, 1172, 1176, 2026);
|
||||
valid: array of int32 = (0, 0, 0, 0);
|
||||
|
||||
i, j: int32;
|
||||
|
||||
begin
|
||||
|
||||
for i := 0 to 3 do
|
||||
begin
|
||||
writeln(race_times[i]);
|
||||
writeln(race_distances[i]);
|
||||
|
||||
for j := 1 to race_times[i] do
|
||||
begin
|
||||
|
||||
if (race_times[i] - j) * j > race_distances[i] then
|
||||
valid[i] := valid[i] + 1
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
writeln(valid[0] * valid[1] * valid[2] * valid[3])
|
||||
|
||||
end.
|
32
src/day6/part2.pas
Normal file
32
src/day6/part2.pas
Normal file
@ -0,0 +1,32 @@
|
||||
program day5part1;
|
||||
uses sysutils;
|
||||
|
||||
type
|
||||
SState = (ToColon, WasteSpace, ReadSeeds, NewLine);
|
||||
MState = (Seed, WaitMap, ReadMap);
|
||||
|
||||
|
||||
var
|
||||
|
||||
race_time: int64 = 57726992;
|
||||
race_distance: int64 = 291117211762026;
|
||||
valid: int64 = 0;
|
||||
|
||||
i, j: int32;
|
||||
|
||||
begin
|
||||
|
||||
writeln(race_time);
|
||||
writeln(race_distance);
|
||||
|
||||
for j := 1 to race_time do
|
||||
begin
|
||||
|
||||
if (race_time - j) * j > race_distance then
|
||||
valid := valid + 1
|
||||
|
||||
end;
|
||||
|
||||
writeln(valid);
|
||||
|
||||
end.
|
Loading…
Reference in New Issue
Block a user