This commit is contained in:
2023-12-13 15:47:19 +01:00
parent ba91270159
commit 22876cd65a
3 changed files with 1465 additions and 0 deletions

70
13/13-1.py Normal file
View File

@@ -0,0 +1,70 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
data = []
# parse input
input_file = open("input-ex", "r")
pattern = []
for line in input_file:
line = line.strip()
if line == "":
data.append(pattern)
pattern = []
else:
pattern.append(line)
data.append(pattern)
input_file.close()
'''
for i in range(len(data)):
for _ in data[i]:
print(_)
print("================")
'''
def find_vertikal_mirror(matrix):
for s in range(1, len(matrix[0])):
is_mirror = True
for z in matrix:
if s <= len(z) / 2:
p1 = z[:s]
p2 = z[s:]
p2 = p2[::-1]
p2 = p2[:s]
print("1: ",s,p1,"-",p2)
else:
p2 = z[s:]
p1 = z[:s]
p1 = p1[::-1]
p1 = p1[:len(p2)]
print("2: ",s,p1,p2)
if p1 != p2:
is_mirror = False
if is_mirror:
return s
return 0
def find_horizontal_mirror(matrix):
new_matrix = []
for j in range(len(matrix[0])):
new_matrix.append("".join([matrix[k][j] for k in range(len(matrix))]))
for n in new_matrix:
print(n)
print("_____________________")
return find_vertikal_mirror(new_matrix)
solution = 0
for m in data:
print(m)
for mn in m:
print(mn)
vert = find_vertikal_mirror(m)
horz = find_horizontal_mirror(m)
print(vert, horz)
if vert == 0:
solution += 100 * find_horizontal_mirror(m)
else:
solution += vert
print("Lösung:", solution)

1347
13/input Normal file

File diff suppressed because it is too large Load Diff

48
13/input-ex Normal file
View File

@@ -0,0 +1,48 @@
#.##..##.
..#.##.#.
##......#
##......#
..#.##.#.
..##..##.
#.#.##.#.
#...##..#
#....#..#
..##..###
#####.##.
#####.##.
..##..###
#....#..#
#..######.#....
####....#..##.#
####....#..##.#
#..######.#....
.#...#####..#..
#...####...#.#.
##...#.#...#..#
.##.##.#.....#.
..#..##....##..
..#.....#..##.#
##...#...#####.
##...#...#####.
..#..#..#..##.#
####.##...##.
.##.#.##..##.
.##....###..#
####.........
#..#.#.#.....
#..######.###
#..###..#....
#..#####.....
#####....#..#
....#.....##.
#..#......##.
.##..##.#####
.##.#...#####
.....#.#..##.
.##...#..#..#
AA--AA--AA
AB-CDDC-BA