finished 10a

master
fettlaus 6 years ago
parent 20a9cba06c
commit d732503bf1
  1. 36
      days/input/day10_input
  2. 25
      days/test_day10.py

@ -0,0 +1,36 @@
#.....#...#.........###.#........#..
....#......###..#.#.###....#......##
......#..###.......#.#.#.#..#.......
......#......#.#....#.##....##.#.#.#
...###.#.#.......#..#...............
....##...#..#....##....#...#.#......
..##...#.###.....##....#.#..##.##...
..##....#.#......#.#...#.#...#.#....
.#.##..##......##..#...#.....##...##
.......##.....#.....##..#..#..#.....
..#..#...#......#..##...#.#...#...##
......##.##.#.#.###....#.#..#......#
#..#.#...#.....#...#...####.#..#...#
...##...##.#..#.....####.#....##....
.#....###.#...#....#..#......#......
.##.#.#...#....##......#.....##...##
.....#....###...#.....#....#........
...#...#....##..#.#......#.#.#......
.#..###............#.#..#...####.##.
.#.###..#.....#......#..###....##..#
#......#.#.#.#.#.#...#.#.#....##....
.#.....#.....#...##.#......#.#...#..
...##..###.........##.........#.....
..#.#..#.#...#.....#.....#...###.#..
.#..........#.......#....#..........
...##..#..#...#..#...#......####....
.#..#...##.##..##..###......#.......
.##.....#.......#..#...#..#.......#.
#.#.#..#..##..#..............#....##
..#....##......##.....#...#...##....
.##..##..#.#..#.................####
##.......#..#.#..##..#...#..........
#..##...#.##.#.#.........#..#..#....
.....#...#...#.#......#....#........
....#......###.#..#......##.....#..#
#..#...##.........#.....##.....#....

@ -0,0 +1,25 @@
from math import atan2
import os
from typing import Tuple
inputfile = os.path.join(os.path.dirname(__file__), "input/day10_input")
def calc_arc(origin: Tuple[int, int], target: Tuple[int, int]) -> float:
return atan2(target[0] - origin[0], target[1] - origin[1])
def test_day10a():
with open(inputfile) as fp:
lines = [x.rstrip() for x in fp.readlines()]
asts = [(x, y)
for x, line in enumerate(lines)
for y, m in enumerate(line)
if m == '#']
max = 0
for my in asts:
angles = {calc_arc(my, target) for target in asts}
max = len(angles) if len(angles) > max else max
assert max == 303
Loading…
Cancel
Save