diff --git a/day20/modules.go b/day20/modules.go
index 3af62fd..c372dd9 100644
--- a/day20/modules.go
+++ b/day20/modules.go
@@ -204,6 +204,7 @@ func (c *Conjunction)StateSnapshot() string {
func (c *Conjunction)MermaidFlow() string {
result := "\n"
+ result += fmt.Sprintf("%s{%s}\n", c.Name, c.Name)
for _, toName := range c.OutputNames {
result += fmt.Sprintf("%s --> %s\n", c.Name, toName)
}
diff --git a/day20/my-mermaid.mmd b/day20/my-mermaid.mmd
index 7050e12..291c807 100644
--- a/day20/my-mermaid.mmd
+++ b/day20/my-mermaid.mmd
@@ -1,40 +1,105 @@
flowchart LR
-zd --> ln
-zd --> gf
+gm --> tj
+gm --> gf
-vz --> cr
-vz --> vc
+nn --> ff
+nn --> db
-ch --> db
-ch --> mc
+broadcast --> sr
+broadcast --> ch
+broadcast --> hd
+broadcast --> bx
qm --> gm
-cc --> nn
-
-qk --> vc
-
-sr --> gf
-sr --> vl
-
-lr --> sb
-
-hv --> lr
-
-cl --> qx
-cl --> bf
-
xm --> db
-sf --> bp
+pf --> qx
-tj --> lc
-tj --> gf
+ln --> gf
+ln --> qq
+
+pm --> vc
+pm --> qk
rz --> qx
rz --> cv
+gf{gf}
+gf --> fj
+gf --> qm
+gf --> xn
+gf --> sr
+
+fn --> pr
+fn --> gf
+
+lc --> gf
+lc --> fn
+
+sr --> gf
+sr --> vl
+
+jz --> qj
+jz --> db
+
+th{th}
+th --> rx
+
+cb --> kt
+
+bf --> qx
+bf --> pf
+
+qj --> xm
+qj --> db
+
+ch --> db
+ch --> mc
+
+ff --> pl
+
+pr --> gf
+
+zd --> ln
+zd --> gf
+
+qn{qn}
+qn --> th
+
+kt --> qx
+kt --> rz
+
+fj --> zd
+
+tj --> lc
+tj --> gf
+
+bx --> qx
+bx --> qp
+
+cr --> gx
+cr --> vc
+
+vm --> cl
+
+nh --> hv
+
+qk --> vc
+
+jd --> qx
+jd --> vm
+
+hd --> vc
+hd --> nh
+
+sf --> bp
+
+cl --> qx
+cl --> bf
+
+vc{vc}
vc --> lr
vc --> hd
vc --> ks
@@ -43,111 +108,17 @@ vc --> gx
vc --> nh
vc --> hv
-bf --> qx
-bf --> pf
+bp --> db
+bp --> jz
-jd --> qx
-jd --> vm
+cc --> nn
-ds --> cc
-
-vm --> cl
-
-ff --> pl
-
-th --> rx
-
-gm --> tj
-gm --> gf
-
-fj --> zd
-
-mc --> ds
-mc --> db
-
-ks --> vz
-button --> broadcast
-
-cv --> xz
-
-kt --> qx
-kt --> rz
-
-qj --> xm
-qj --> db
-
-bx --> qx
-bx --> qp
-
-fn --> pr
-fn --> gf
-
-qp --> cb
-qp --> qx
-
-cd --> pm
-cd --> vc
-
-nh --> hv
-
-pl --> sf
-pl --> db
+lr --> sb
qq --> qm
qq --> gf
-xf --> th
-
-zl --> th
-
-pf --> qx
-
-qn --> th
-
-jz --> qj
-jz --> db
-
-pr --> gf
-
-vl --> gf
-vl --> fj
-
-sb --> ks
-sb --> vc
-
-cr --> gx
-cr --> vc
-
-lc --> gf
-lc --> fn
-
-xn --> th
-
-nn --> ff
-nn --> db
-
-ln --> gf
-ln --> qq
-
-pm --> vc
-pm --> qk
-
-xz --> jd
-
-gx --> cd
-
-broadcast --> sr
-broadcast --> ch
-broadcast --> hd
-broadcast --> bx
-
-qx --> cb
-qx --> cv
-qx --> bx
-qx --> xz
-qx --> vm
-qx --> zl
-
+db{db}
db --> ff
db --> ds
db --> sf
@@ -155,16 +126,53 @@ db --> ch
db --> cc
db --> xf
-cb --> kt
+vl --> gf
+vl --> fj
-bp --> db
-bp --> jz
+ks --> vz
-gf --> fj
-gf --> qm
-gf --> xn
-gf --> sr
+xn{xn}
+xn --> th
-hd --> vc
-hd --> nh
+xf{xf}
+xf --> th
+pl --> sf
+pl --> db
+
+zl{zl}
+zl --> th
+
+vz --> cr
+vz --> vc
+
+gx --> cd
+
+mc --> ds
+mc --> db
+
+qp --> cb
+qp --> qx
+button --> broadcast
+
+cv --> xz
+
+xz --> jd
+
+qx{qx}
+qx --> cb
+qx --> cv
+qx --> bx
+qx --> xz
+qx --> vm
+qx --> zl
+
+hv --> lr
+
+cd --> pm
+cd --> vc
+
+sb --> ks
+sb --> vc
+
+ds --> cc
diff --git a/day20/my-mermaid.mmd.svg b/day20/my-mermaid.mmd.svg
index d0e6aee..ff3d0c2 100644
--- a/day20/my-mermaid.mmd.svg
+++ b/day20/my-mermaid.mmd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/day20/notes.org b/day20/notes.org
index 2510e65..547539d 100644
--- a/day20/notes.org
+++ b/day20/notes.org
@@ -177,3 +177,4 @@ crap
all loops are from step 1.
it's just for some reason code was unstable when i was searching for all
+*** answer is 224046542165867
diff --git a/day20/pulsePropagation.go b/day20/pulsePropagation.go
index a541063..131478f 100644
--- a/day20/pulsePropagation.go
+++ b/day20/pulsePropagation.go
@@ -11,15 +11,16 @@ func Run() int {
// fmt.Println("hello from dya 20")
filename := "day20/input"
- // modules := ReadModules(filename)
- // InitStuffs(modules)
+ modules := ReadModules(filename)
+ InitStuffs(modules)
// log.Print("got modules:\n", modules)
// var low, high int
// low, high = Count10000ButtonPresses(modules)
// log.Printf("got low %d and high %d\n", low, high)
- CheckSubgraphsStuff(filename)
+ // CheckSubgraphsStuff(filename)
+ fmt.Print( AllMermaidFlowChard(modules) )
var result int
// result = CalcCommonStep()