-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday14part1.py
125 lines (118 loc) · 1.41 KB
/
day14part1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
lines = ["VFHKKOKKCPBONFHNPHPN",
"",
"VS -> B",
"HK -> B",
"FO -> P",
"NC -> F",
"VN -> C",
"BS -> O",
"HS -> K",
"NS -> C",
"CV -> P",
"NV -> C",
"PH -> H",
"PB -> B",
"PK -> K",
"HF -> P",
"FV -> C",
"NN -> H",
"VO -> K",
"VP -> P",
"BC -> B",
"KK -> S",
"OK -> C",
"PN -> H",
"SB -> V",
"KO -> P",
"KH -> C",
"KS -> S",
"FP -> B",
"PV -> B",
"BO -> C",
"OS -> H",
"NB -> S",
"SP -> C",
"HN -> N",
"FN -> B",
"PO -> O",
"FS -> O",
"NH -> B",
"SO -> P",
"OB -> S",
"KC -> C",
"OO -> H",
"BB -> V",
"SC -> F",
"NP -> P",
"SH -> C",
"BH -> O",
"BP -> F",
"CC -> S",
"BN -> H",
"SS -> P",
"BF -> B",
"VK -> P",
"OV -> H",
"FC -> S",
"VB -> S",
"PF -> N",
"HH -> O",
"HC -> V",
"CH -> B",
"HP -> H",
"FF -> H",
"VF -> V",
"CS -> F",
"KP -> F",
"OP -> H",
"KF -> F",
"PP -> V",
"OC -> C",
"PS -> F",
"ON -> H",
"BK -> B",
"HV -> S",
"CO -> K",
"FH -> C",
"FB -> F",
"OF -> V",
"SN -> S",
"PC -> K",
"NF -> F",
"NK -> P",
"NO -> P",
"CP -> P",
"CK -> S",
"HB -> H",
"BV -> C",
"SF -> K",
"HO -> H",
"OH -> B",
"KV -> S",
"KN -> F",
"SK -> K",
"VH -> S",
"CN -> S",
"VC -> P",
"CB -> H",
"SV -> S",
"VV -> P",
"CF -> F",
"FK -> F",
"KB -> V"]
s = lines[0]
k = {}
for q in lines[2:]:
x, y = q.split(" -> ")
k[x] = y
for _ in range(10):
n = s[0]
for c in s[1:]:
n += k[n[-1] + c]
n += c
s = n
c = {}
for char in s:
if char not in c: c[char] = 0
c[char] += 1
print(max(c.values()) - min(c.values()))