33 lines
886 B
Lua
33 lines
886 B
Lua
io.input("input")
|
|
|
|
sum1 = 0
|
|
sum2 = 0
|
|
maxs = { r=12, g=13, b=14 }
|
|
for line in io.lines() do
|
|
print(line)
|
|
id = line:match("Game (%d+):")
|
|
print(id)
|
|
is_valid = true
|
|
mins = {r=0, g=0, b=0}
|
|
for reveal in line:gmatch("[%d%a, ]+") do
|
|
r = tonumber(reveal:match("(%d+) red"))
|
|
g = tonumber(reveal:match("(%d+) green"))
|
|
b = tonumber(reveal:match("(%d+) blue"))
|
|
print(reveal,r,g,b)
|
|
if (r and r>maxs.r) or (g and g>maxs.g) or (b and b>maxs.b) then
|
|
is_valid = false
|
|
end
|
|
if r and r>mins.r then mins.r = r end
|
|
if g and g>mins.g then mins.g = g end
|
|
if b and b>mins.b then mins.b = b end
|
|
end
|
|
if is_valid then
|
|
print("valid", id)
|
|
sum1 = sum1 + id
|
|
end
|
|
sum2 = sum2 + mins.r*mins.g*mins.b
|
|
print(mins.r, mins.g, mins.b)
|
|
end
|
|
print("part 1", sum1)
|
|
print("part 2", sum2)
|