day 14
This commit is contained in:
parent
e3c1f47592
commit
a877bc5bed
|
@ -0,0 +1,22 @@
|
||||||
|
import sys
|
||||||
|
L = sys.stdin.read().splitlines()
|
||||||
|
seed = L[0]
|
||||||
|
L = L[2:]
|
||||||
|
L = [ l.split() for l in L ]
|
||||||
|
D = { tuple(k):v for [k,_,v] in L }
|
||||||
|
print(seed, D)
|
||||||
|
for step in range(10):
|
||||||
|
C = ["X"] # X is their to avoid empty list when comparing to previous char
|
||||||
|
for (a,b) in zip(seed, seed[1:]):
|
||||||
|
if a != C[-1]:
|
||||||
|
C.append(a)
|
||||||
|
if (a,b) in D:
|
||||||
|
C.append(D[(a,b)])
|
||||||
|
C.append(b)
|
||||||
|
seed = "".join(C)
|
||||||
|
print(step+1, len(seed), seed[1:])
|
||||||
|
from collections import Counter
|
||||||
|
C = Counter(seed)
|
||||||
|
del C["X"]
|
||||||
|
print(C, C.values(), max(C.values())-min(C.values()))
|
||||||
|
# store 40 iterations will be 20*2^39~=21TB ...
|
|
@ -0,0 +1,27 @@
|
||||||
|
import sys
|
||||||
|
L = sys.stdin.read().splitlines()
|
||||||
|
seed = L[0]
|
||||||
|
L = L[2:]
|
||||||
|
L = [ l.split() for l in L ]
|
||||||
|
D = { tuple(k):v for [k,_,v] in L }
|
||||||
|
def reprpairs(P):
|
||||||
|
return " ".join(f"{a}{b}:{v}" for ((a,b),v) in P.items())
|
||||||
|
E = { K:0 for (K,_) in D.items() }
|
||||||
|
for (a,b) in zip(seed, seed[1:]):
|
||||||
|
E[(a,b)] += 1
|
||||||
|
#print(reprpairs(E))
|
||||||
|
for step in range(40):
|
||||||
|
F = { K:0 for (K,_) in D.items() }
|
||||||
|
for ((a,b),v) in E.items():
|
||||||
|
j = D[(a,b)]
|
||||||
|
F[(a,j)] += v
|
||||||
|
F[(j,b)] += v
|
||||||
|
E = F
|
||||||
|
#print(step+1,reprpairs(E))
|
||||||
|
from collections import defaultdict as dfd
|
||||||
|
S = dfd(int)
|
||||||
|
for ((a,b),v) in E.items():
|
||||||
|
S[a]+=v
|
||||||
|
S[b]+=v
|
||||||
|
S ={ k:(a+b) for (k,v) in S.items() for (a,b) in [divmod(v,2)] }
|
||||||
|
print(S, max(S.values())-min(S.values()))
|
|
@ -0,0 +1,9 @@
|
||||||
|
import sys
|
||||||
|
L = sys.stdin.read().splitlines()
|
||||||
|
L = L[2:]
|
||||||
|
L = [ l.split() for l in L ]
|
||||||
|
D = { tuple(k):v for [k,_,v] in L }
|
||||||
|
print('digraph G {')
|
||||||
|
for ((k,l),v) in D.items():
|
||||||
|
print(f'{k} -> {v} [label="{l}"];')
|
||||||
|
print("}")
|
|
@ -0,0 +1,102 @@
|
||||||
|
SVKVKCCBNHNSOSCCOPOC
|
||||||
|
|
||||||
|
BB -> O
|
||||||
|
BC -> F
|
||||||
|
BF -> O
|
||||||
|
BH -> O
|
||||||
|
BK -> B
|
||||||
|
BN -> F
|
||||||
|
BO -> S
|
||||||
|
BP -> O
|
||||||
|
BS -> O
|
||||||
|
BV -> O
|
||||||
|
CB -> V
|
||||||
|
CC -> K
|
||||||
|
CF -> N
|
||||||
|
CH -> C
|
||||||
|
CK -> K
|
||||||
|
CN -> P
|
||||||
|
CO -> H
|
||||||
|
CP -> O
|
||||||
|
CS -> P
|
||||||
|
CV -> V
|
||||||
|
FB -> H
|
||||||
|
FC -> F
|
||||||
|
FF -> V
|
||||||
|
FH -> N
|
||||||
|
FK -> N
|
||||||
|
FN -> P
|
||||||
|
FO -> V
|
||||||
|
FP -> B
|
||||||
|
FS -> V
|
||||||
|
FV -> K
|
||||||
|
HB -> B
|
||||||
|
HC -> S
|
||||||
|
HF -> P
|
||||||
|
HH -> B
|
||||||
|
HK -> S
|
||||||
|
HN -> V
|
||||||
|
HO -> V
|
||||||
|
HP -> O
|
||||||
|
HS -> B
|
||||||
|
HV -> H
|
||||||
|
KB -> C
|
||||||
|
KC -> C
|
||||||
|
KF -> B
|
||||||
|
KH -> B
|
||||||
|
KK -> B
|
||||||
|
KN -> H
|
||||||
|
KO -> S
|
||||||
|
KP -> S
|
||||||
|
KS -> N
|
||||||
|
KV -> K
|
||||||
|
NB -> P
|
||||||
|
NC -> S
|
||||||
|
NF -> H
|
||||||
|
NH -> B
|
||||||
|
NK -> N
|
||||||
|
NN -> K
|
||||||
|
NO -> N
|
||||||
|
NP -> B
|
||||||
|
NS -> P
|
||||||
|
NV -> F
|
||||||
|
OB -> V
|
||||||
|
OC -> V
|
||||||
|
OF -> H
|
||||||
|
OH -> C
|
||||||
|
OK -> O
|
||||||
|
ON -> P
|
||||||
|
OO -> V
|
||||||
|
OP -> F
|
||||||
|
OS -> H
|
||||||
|
OV -> F
|
||||||
|
PB -> H
|
||||||
|
PC -> B
|
||||||
|
PF -> P
|
||||||
|
PH -> K
|
||||||
|
PK -> F
|
||||||
|
PN -> B
|
||||||
|
PO -> N
|
||||||
|
PP -> V
|
||||||
|
PS -> S
|
||||||
|
PV -> B
|
||||||
|
SB -> C
|
||||||
|
SC -> C
|
||||||
|
SF -> K
|
||||||
|
SH -> S
|
||||||
|
SK -> H
|
||||||
|
SN -> P
|
||||||
|
SO -> C
|
||||||
|
SP -> P
|
||||||
|
SS -> K
|
||||||
|
SV -> B
|
||||||
|
VB -> S
|
||||||
|
VC -> P
|
||||||
|
VF -> S
|
||||||
|
VH -> V
|
||||||
|
VK -> S
|
||||||
|
VN -> V
|
||||||
|
VO -> N
|
||||||
|
VP -> F
|
||||||
|
VS -> S
|
||||||
|
VV -> O
|
|
@ -0,0 +1,18 @@
|
||||||
|
NNCB
|
||||||
|
|
||||||
|
CH -> B
|
||||||
|
HH -> N
|
||||||
|
CB -> H
|
||||||
|
NH -> C
|
||||||
|
HB -> C
|
||||||
|
HC -> B
|
||||||
|
HN -> C
|
||||||
|
NN -> C
|
||||||
|
BH -> H
|
||||||
|
NC -> B
|
||||||
|
NB -> B
|
||||||
|
BN -> B
|
||||||
|
BB -> N
|
||||||
|
BC -> B
|
||||||
|
CC -> N
|
||||||
|
CN -> C
|
Loading…
Reference in New Issue