diff options
author | eug-vs <eugene@eug-vs.xyz> | 2023-12-09 02:25:17 +0300 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2023-12-09 02:25:17 +0300 |
commit | a65bf01f5a8aaed52f38bb27e7c99b88e8b9b0f6 (patch) | |
tree | bda4d31326ade6378d74df34edd0637cc5be3a46 | |
parent | e57d0b97c8cb365d7d0a3ee7a0fc9294d2c8dcee (diff) | |
download | aoc-2023-a65bf01f5a8aaed52f38bb27e7c99b88e8b9b0f6.tar.gz |
feat(day-8): add cool visualization
-rw-r--r-- | day-8/graph.dot | 1454 | ||||
-rw-r--r-- | day-8/out.png | bin | 0 -> 3822923 bytes | |||
-rw-r--r-- | day-8/script.ts | 10 |
3 files changed, 1464 insertions, 0 deletions
diff --git a/day-8/graph.dot b/day-8/graph.dot new file mode 100644 index 0000000..272bd5c --- /dev/null +++ b/day-8/graph.dot @@ -0,0 +1,1454 @@ +digraph aoc { + LFM -> PCJ; + LFM -> GQH; + THP -> SPP; + THP -> MKB; + PBL -> VVX; + PBL -> JMM; + DSR -> BST; + DSR -> MPD; + QKF -> DSR; + QKF -> KGX; + AAA -> SLH; + AAA -> CVN; + DSH -> DVN; + DSH -> VXT; + VTK -> NSF; + VTK -> QJM; + QQR -> FNB; + QQR -> CBM; + RQV -> XQQ; + RQV -> NQQ; + CGV -> CCB; + CGV -> FTX; + RXL -> HXQ; + RXL -> HLQ; + MQP -> MSH; + MQP -> TJB; + MPL -> JSJ; + MPL -> TJR; + XQK -> RQT; + XQK -> JKB; + GXT -> JFP; + GXT -> MTT; + LHK -> BVR; + LHK -> MFH; + BXH -> PGR; + BXH -> NDC; + FFV -> MJC; + FFV -> TLD; + TFM -> DKJ; + TFM -> RTC; + MVG -> TNC; + MVG -> PXR; + QXN -> CGV; + QXN -> KKM; + LTN -> MQC; + LTN -> XGD; + NLP -> SQQ; + NLP -> DKG; + QTK -> MBH; + QTK -> GJX; + SSR -> DHV; + SSR -> NHN; + DGJ -> QSX; + DGJ -> CKB; + SFD -> GRS; + SFD -> DLD; + HBT -> NVN; + HBT -> HJF; + VKH -> CBT; + VKH -> CBT; + VRH -> FVN; + VRH -> JNB; + HTJ -> JNB; + HTJ -> FVN; + BDL -> SQS; + BDL -> QVX; + MMC -> MJC; + MMC -> TLD; + RBL -> VNF; + RBL -> BXD; + RNM -> HJQ; + RNM -> PJF; + CTZ -> NCP; + CTZ -> PLT; + JFK -> TPJ; + JFK -> JGX; + HPJ -> MMC; + HPJ -> FFV; + RJC -> RBH; + RJC -> DFJ; + DHL -> RJC; + DHL -> JFD; + LVR -> BBB; + LVR -> LHK; + LFD -> GCQ; + LFD -> SGC; + BVG -> BSQ; + BVG -> QXH; + DVN -> MTL; + DVN -> NDG; + XGD -> TML; + XGD -> JQL; + RQS -> VXX; + RQS -> BDV; + CPC -> PGB; + CPC -> SVP; + QLQ -> CLK; + QLQ -> CBH; + RXZ -> SHG; + RXZ -> MDS; + NTR -> RGP; + NTR -> PNX; + BBB -> MFH; + BBB -> BVR; + RGK -> FRD; + RGK -> FRD; + JLV -> DVV; + JLV -> GSF; + NLS -> VFF; + NLS -> HCX; + RHC -> DKG; + RHC -> SQQ; + NVB -> TTG; + NVB -> QTK; + SLZ -> DJM; + SLZ -> BVG; + BFK -> SKJ; + BFK -> BBD; + HXX -> XQK; + HXX -> BVT; + SKS -> SLL; + SKS -> FQH; + SGB -> RLT; + SGB -> RHK; + NPD -> RFJ; + NPD -> DJN; + XSJ -> TSF; + XSJ -> MVT; + LLH -> RPV; + LLH -> VML; + NXD -> DJS; + NXD -> FJG; + GJX -> SGS; + GJX -> LBJ; + FBV -> CXG; + FBV -> DCJ; + FRX -> GDV; + FRX -> RQB; + SDC -> RGC; + SDC -> THM; + JCT -> CSC; + JCT -> GNM; + SPS -> MLP; + SPS -> TRQ; + BNG -> PFC; + BNG -> CLX; + SHH -> LPM; + SHH -> VRC; + SGC -> FCH; + SGC -> JLC; + FJB -> MVK; + FJB -> JKT; + DRN -> KGL; + DRN -> LTN; + RJB -> NTR; + RJB -> BDN; + DMC -> JBM; + DMC -> KNV; + HBG -> RQB; + HBG -> GDV; + VRC -> RDD; + VRC -> MRD; + JJP -> GQC; + JJP -> VMP; + PLB -> VKX; + PLB -> BGL; + DVV -> QTS; + DVV -> NHG; + LGL -> SSX; + LGL -> JRQ; + RGC -> DVG; + RGC -> RDQ; + GPK -> DDL; + GPK -> FLG; + NVN -> HPJ; + NVN -> SFK; + DVQ -> JFJ; + DVQ -> FRC; + VDP -> PFL; + VDP -> GLN; + CVN -> HNX; + CVN -> QKF; + QXP -> VTG; + QXP -> BDC; + LKT -> SBP; + LKT -> SBP; + QSX -> FNN; + QSX -> FKT; + CSC -> HPQ; + CSC -> SLS; + FNN -> DCV; + FNN -> JKF; + MTH -> NVN; + MTH -> HJF; + TPJ -> HNM; + TPJ -> NGV; + NHN -> VCC; + NHN -> RXL; + BHF -> JKK; + BHF -> LFD; + HXQ -> VNH; + HXQ -> FBV; + KDR -> HDN; + KDR -> HJJ; + SVD -> VRK; + SVD -> STT; + FGJ -> TNM; + FGJ -> CRD; + XFF -> NPD; + XFF -> RXQ; + TNC -> XKT; + TNC -> LRP; + VBM -> GJM; + VBM -> PBK; + XBV -> DGJ; + XBV -> QJN; + GXH -> LVK; + GXH -> QGX; + SLH -> HNX; + SLH -> QKF; + ZZZ -> CVN; + ZZZ -> SLH; + RTC -> TPH; + RTC -> FJT; + NQP -> MJH; + NQP -> MSP; + XSD -> STT; + XSD -> VRK; + HJJ -> XMV; + HJJ -> TJX; + JFP -> XSV; + JFP -> KBQ; + FTD -> NMN; + FTD -> PXX; + NVQ -> MSP; + NVQ -> MJH; + SHC -> PTV; + SHC -> XDR; + DCV -> TFX; + DCV -> TFX; + BTX -> JJG; + BTX -> FLL; + RDQ -> DCF; + RDQ -> FRH; + MTT -> KBQ; + MTT -> XSV; + DRB -> RML; + DRB -> LGR; + PBD -> VSX; + PBD -> FRS; + HFS -> KBM; + HFS -> KSJ; + SKJ -> NXN; + SKJ -> LJM; + MTS -> GJC; + MTS -> SQX; + BRL -> TMJ; + BRL -> JTT; + TTQ -> KFC; + TTQ -> DPL; + LQF -> DJS; + LQF -> FJG; + TKG -> JFD; + TKG -> RJC; + PGB -> BFJ; + PGB -> BQJ; + BQX -> VHC; + BQX -> PQH; + MRD -> BTB; + MRD -> NJK; + LJF -> XQR; + LJF -> PMH; + BCL -> VBK; + BCL -> JHN; + BHQ -> VMB; + BHQ -> SQF; + BSR -> LPM; + BSR -> VRC; + VNK -> GBH; + VNK -> LPQ; + KHJ -> NJG; + KHJ -> QQL; + VMB -> BBK; + VMB -> VXF; + QJM -> QDN; + QJM -> VFV; + KFC -> FSM; + KFC -> PMF; + JVN -> DMJ; + JVN -> SPR; + MVT -> RGM; + MVT -> HDH; + PQB -> BVP; + PQB -> NTH; + QQF -> KJP; + QQF -> BDP; + RGP -> JJP; + RGP -> MFM; + DLD -> VSG; + DLD -> BDL; + SCV -> CBT; + SCV -> LHV; + VTD -> KLC; + VTD -> QVL; + FCH -> GGR; + FCH -> TFM; + GJR -> QMX; + GJR -> CFM; + PMH -> GSG; + PMH -> JSF; + DCJ -> CDJ; + DCJ -> TRP; + QJX -> NVQ; + QJX -> NQP; + DJN -> JFK; + DJN -> HFM; + DQP -> DSS; + DQP -> PBL; + XXH -> NTX; + XXH -> QLG; + MXK -> JTT; + MXK -> TMJ; + FDL -> JCT; + FDL -> TRR; + MGA -> PLT; + MGA -> NCP; + HPS -> RFQ; + HPS -> VXV; + SBC -> NPD; + SBC -> RXQ; + XPD -> VHH; + XPD -> PDH; + SRX -> SSX; + SRX -> JRQ; + CKJ -> MQQ; + CKJ -> QJX; + FKT -> DCV; + FKT -> JKF; + JKP -> VFF; + JKP -> HCX; + JMN -> XSJ; + JMN -> CQP; + GLN -> SFQ; + GLN -> SGB; + PTV -> JNS; + PTV -> FXR; + FXM -> NTR; + FXM -> BDN; + DJS -> XMQ; + DJS -> KSN; + LVC -> FRD; + LVC -> PNN; + JPD -> PQP; + JPD -> XCX; + GQC -> NSQ; + GQC -> GJD; + SFK -> FFV; + SFK -> MMC; + JBD -> TFG; + JBD -> MSN; + BSZ -> RGR; + BSZ -> FTD; + SQX -> XRQ; + SQX -> PQB; + PPV -> VBD; + PPV -> SNX; + JSF -> FRT; + JSF -> MVG; + JMT -> TJG; + JMT -> BNV; + JMJ -> DCX; + JMJ -> BNG; + KJP -> QFH; + KJP -> VSP; + VXV -> SHM; + VXV -> NMD; + KLC -> XLB; + KLC -> MCH; + JMD -> XQQ; + JMD -> NQQ; + PJN -> FDL; + PJN -> BQC; + PLT -> MCP; + PLT -> VHB; + BGL -> DSC; + BGL -> PSN; + RXH -> SLH; + RXH -> CVN; + VSG -> QVX; + VSG -> SQS; + BDC -> RPS; + BDC -> RBL; + JMM -> XMJ; + JMM -> XDG; + RHK -> QKH; + RHK -> BTX; + RQX -> KSM; + RQX -> PLB; + FQH -> MHT; + FQH -> CDG; + SRM -> PLV; + SRM -> QGV; + HNX -> DSR; + HNX -> KGX; + JNS -> RJN; + JNS -> RXD; + MLP -> JMN; + MLP -> PCR; + LVK -> JHS; + LVK -> QMJ; + PRG -> TJB; + PRG -> MSH; + VGS -> JXR; + VGS -> JLP; + XQQ -> KTJ; + XQQ -> BMN; + DGA -> FTD; + DGA -> RGR; + HTX -> MTG; + HTX -> XBV; + CCB -> TXB; + CCB -> VTK; + RQT -> TLR; + RQT -> LDB; + QMX -> SHQ; + QMX -> DPB; + MDS -> KQD; + MDS -> DMC; + JDC -> LCL; + JDC -> SSR; + NHG -> JMD; + NHG -> RQV; + CBM -> DBH; + CBM -> BHQ; + RKB -> VGP; + RKB -> LLP; + SJD -> PLB; + SJD -> KSM; + CDG -> FBC; + CDG -> TJF; + QGV -> TLB; + QGV -> QVB; + BDS -> SPS; + BDS -> BGH; + DGF -> VKH; + DGF -> VKH; + RLV -> MKB; + RLV -> SPP; + SHG -> KQD; + SHG -> DMC; + KQD -> KNV; + KQD -> JBM; + RMV -> DVV; + RMV -> GSF; + MSH -> XXH; + MSH -> TVV; + FJX -> BVG; + FJX -> DJM; + KCV -> PLV; + KCV -> QGV; + MFH -> HCQ; + MFH -> CNF; + TLD -> MCK; + TLD -> KXR; + SLB -> VGP; + SLB -> LLP; + KSN -> HFF; + KSN -> PPV; + RGV -> BDP; + RGV -> KJP; + CNF -> NBF; + CNF -> PCM; + TJF -> GQB; + TJF -> JNP; + NDG -> MTS; + NDG -> JLF; + VHH -> FXM; + VHH -> RJB; + MPH -> CLK; + MPH -> CBH; + RPM -> NXD; + RPM -> LQF; + JHS -> PGH; + JHS -> MXS; + TRJ -> PJF; + TRJ -> HJQ; + RJK -> SSR; + RJK -> LCL; + DPB -> SLB; + DPB -> RKB; + XXD -> FFJ; + XXD -> BBX; + QBX -> CRF; + QBX -> VBM; + RMX -> NGM; + RMX -> CPL; + VXT -> MTL; + VXT -> NDG; + KQN -> QQF; + KQN -> RGV; + SFQ -> RLT; + SFQ -> RHK; + QGJ -> XDR; + QGJ -> PTV; + MSN -> RMV; + MSN -> JLV; + HCQ -> PCM; + HCQ -> NBF; + GKF -> PLT; + GKF -> NCP; + VCC -> HLQ; + VCC -> HXQ; + MSJ -> JKP; + MSJ -> NLS; + RFF -> BXM; + RFF -> SPH; + FBD -> DGF; + FBD -> VNG; + GLJ -> MQF; + GLJ -> RRT; + QRN -> MTH; + QRN -> HBT; + QGS -> TNM; + QGS -> CRD; + XPP -> FNB; + XPP -> CBM; + QQQ -> GHK; + QQQ -> DVD; + RBK -> PPQ; + RBK -> XTT; + HHG -> DPL; + HHG -> KFC; + SBP -> FTD; + SBP -> RGR; + MJH -> MLQ; + MJH -> QTG; + JLX -> BDS; + JLX -> TMM; + DVG -> FRH; + DVG -> DCF; + DFJ -> NSK; + DFJ -> PDS; + RHJ -> DKM; + RHJ -> TDJ; + FQN -> JKT; + FQN -> MVK; + RMD -> LGR; + RMD -> RML; + JTB -> VDP; + JTB -> BSL; + GJM -> NLD; + GJM -> RHJ; + LGP -> CPC; + LGP -> NQN; + JHN -> NBQ; + JHN -> MSJ; + SQF -> BBK; + SQF -> VXF; + HST -> CFM; + HST -> QMX; + LBJ -> TBP; + LBJ -> VNK; + SNX -> PCX; + SNX -> RMX; + PJF -> MGX; + PJF -> SKS; + RRT -> JTB; + RRT -> LSC; + JTT -> MLM; + JTT -> GLJ; + DLQ -> JBQ; + DLQ -> RND; + LGR -> QRV; + LGR -> XXD; + LPT -> BSR; + LPT -> SHH; + HQB -> BRL; + HQB -> MXK; + TRP -> LFM; + TRP -> LCT; + JKT -> RNM; + JKT -> TRJ; + MXS -> GQR; + MXS -> KQN; + MKB -> LVQ; + MKB -> NNX; + NDC -> RGK; + NDC -> LVC; + LFN -> RRL; + LFN -> XNF; + SHQ -> RKB; + SHQ -> SLB; + JGX -> NGV; + JGX -> HNM; + RPN -> BCL; + RPN -> CDR; + JSJ -> CRH; + JSJ -> FHR; + FRH -> THR; + FRH -> TSX; + BNV -> RXS; + BNV -> LGP; + FLL -> GSR; + FLL -> PVF; + DNS -> JLP; + DNS -> JXR; + HDN -> TJX; + HDN -> XMV; + HJQ -> SKS; + HJQ -> MGX; + TNX -> SJD; + TNX -> RQX; + XQD -> BFR; + XQD -> MDM; + GNM -> HPQ; + GNM -> SLS; + NML -> DGF; + NML -> VNG; + BXM -> FJB; + BXM -> FQN; + MSP -> QTG; + MSP -> MLQ; + PBJ -> XLJ; + PBJ -> TKD; + MNN -> DNS; + MNN -> VGS; + RBH -> PDS; + RBH -> NSK; + BFJ -> KNT; + BFJ -> SDP; + CRD -> PBC; + CRD -> BFK; + TJB -> XXH; + TJB -> TVV; + PDJ -> SRN; + PDJ -> SRN; + XJS -> HBG; + XJS -> FRX; + BBK -> LLH; + BBK -> PNP; + QQL -> MFR; + QQL -> KKZ; + FVN -> LGL; + FVN -> SRX; + LRP -> GXT; + LRP -> BSF; + SVX -> MSN; + SVX -> TFG; + PFC -> PCP; + PFC -> FGB; + XMJ -> GKF; + XMJ -> GKF; + LLL -> DNS; + LLL -> VGS; + VSX -> TKG; + VSX -> DHL; + RND -> SBC; + RND -> XFF; + MLQ -> DXT; + MLQ -> JMT; + XLC -> TTG; + XLC -> QTK; + TJG -> RXS; + TJG -> LGP; + DPL -> PMF; + DPL -> FSM; + PCR -> CQP; + PCR -> XSJ; + BSQ -> XSD; + BSQ -> SVD; + DHP -> HPS; + DHP -> MNQ; + SCB -> HXX; + SCB -> NQV; + FFJ -> LJF; + FFJ -> BSV; + FTX -> VTK; + FTX -> TXB; + TRQ -> PCR; + TRQ -> JMN; + GDL -> PBD; + GDL -> BJK; + MLM -> RRT; + MLM -> MQF; + TLA -> QXP; + TLA -> MKM; + SMN -> LFN; + SMN -> FVJ; + RRL -> CKJ; + RRL -> JNK; + BDP -> VSP; + BDP -> QFH; + CBC -> DVN; + CBC -> VXT; + JLP -> PTL; + JLP -> SJK; + FRS -> TKG; + FRS -> DHL; + SQQ -> MPL; + SQQ -> QBQ; + DVD -> RLK; + DVD -> JPD; + PQP -> LGN; + PQP -> SFD; + FSM -> JDC; + FSM -> RJK; + PSN -> XJS; + PSN -> NRN; + QDN -> SHC; + QDN -> QGJ; + RJN -> XPD; + RJN -> GMS; + HRT -> PPQ; + HRT -> XTT; + CBH -> SRM; + CBH -> KCV; + FSC -> XBV; + FSC -> MTG; + DCX -> CLX; + DCX -> PFC; + XQR -> GSG; + XQR -> JSF; + HBP -> XDT; + HBP -> KNF; + BQJ -> KNT; + BQJ -> SDP; + CDJ -> LFM; + CDJ -> LCT; + JNK -> MQQ; + JNK -> QJX; + BVP -> MTF; + BVP -> SDC; + TLR -> RHC; + TLR -> NLP; + SJK -> DQP; + SJK -> LMN; + NJG -> MFR; + NJG -> MFR; + RLK -> XCX; + RLK -> PQP; + TPH -> BXH; + TPH -> GSQ; + NSK -> DDS; + NSK -> MLV; + HLQ -> FBV; + HLQ -> VNH; + JTP -> FSN; + JTP -> QQQ; + PGH -> KQN; + PGH -> GQR; + SRJ -> PXK; + SRJ -> GDL; + TJR -> FHR; + TJR -> CRH; + XDT -> BKJ; + XDT -> PPJ; + GQH -> RLV; + GQH -> THP; + GRS -> BDL; + GRS -> VSG; + DLJ -> CRF; + DLJ -> VBM; + VMP -> GJD; + VMP -> NSQ; + MKM -> VTG; + MKM -> BDC; + PVF -> VLX; + PVF -> LBB; + GPV -> SRJ; + GPV -> FNQ; + NTL -> FSN; + NTL -> QQQ; + FQL -> BFR; + FQL -> MDM; + TMJ -> MLM; + TMJ -> GLJ; + XKT -> GXT; + XKT -> BSF; + PCX -> NGM; + PCX -> CPL; + XMV -> HQB; + XMV -> JRJ; + QKH -> FLL; + QKH -> JJG; + VQP -> FLG; + VQP -> DDL; + SLS -> CKK; + SLS -> HVF; + THM -> RDQ; + THM -> DVG; + PPJ -> GCT; + PPJ -> TNX; + TMM -> BGH; + TMM -> SPS; + GVL -> PCG; + GVL -> RQS; + DCF -> TSX; + DCF -> THR; + BJK -> FRS; + BJK -> VSX; + SPP -> NNX; + SPP -> LVQ; + QGX -> QMJ; + QGX -> JHS; + RPV -> HGR; + RPV -> DHP; + MTG -> DGJ; + MTG -> QJN; + KGL -> XGD; + KGL -> MQC; + DHD -> RND; + DHD -> JBQ; + BXD -> KFH; + BXD -> HTM; + KGX -> MPD; + KGX -> BST; + QVB -> LKT; + QVB -> RGT; + CBK -> RDG; + CBK -> PKT; + BTB -> JMJ; + BTB -> CTD; + FSN -> DVD; + FSN -> GHK; + KXR -> FFT; + KXR -> DVQ; + TML -> GPV; + TML -> PVN; + VXF -> PNP; + VXF -> LLH; + DBH -> SQF; + DBH -> VMB; + FCP -> JKK; + FCP -> LFD; + RXQ -> DJN; + RXQ -> RFJ; + NTH -> SDC; + NTH -> MTF; + JBM -> SVX; + JBM -> JBD; + PNN -> FJX; + PNN -> SLZ; + GQR -> QQF; + GQR -> RGV; + PXR -> LRP; + PXR -> XKT; + VRK -> RDJ; + VRK -> SMN; + LDB -> RHC; + LDB -> NLP; + LHV -> RXH; + LHV -> ZZZ; + FNB -> DBH; + FNB -> BHQ; + MFM -> VMP; + MFM -> GQC; + PGV -> PKT; + PGV -> RDG; + SPR -> XJP; + SPR -> SHD; + CCR -> LQF; + CCR -> NXD; + GJC -> XRQ; + GJC -> PQB; + LGN -> GRS; + LGN -> DLD; + RDG -> FBD; + RDG -> NML; + MCP -> DLC; + MCP -> TGK; + NMD -> XFR; + NMD -> GRK; + MVK -> TRJ; + MVK -> RNM; + JKF -> TFX; + JKF -> KHJ; + XFR -> SMG; + XFR -> JNQ; + NGM -> XPX; + NGM -> JLX; + MFD -> GVL; + MFD -> MBR; + RNT -> CDR; + RNT -> BCL; + VVX -> XMJ; + VVX -> XMJ; + GNC -> HST; + GNC -> GJR; + CRF -> PBK; + CRF -> GJM; + JKK -> GCQ; + JKK -> SGC; + GBH -> QDR; + GBH -> RFF; + FJG -> XMQ; + FJG -> KSN; + GDV -> GQN; + GDV -> GXH; + XLB -> FMN; + XLB -> JVN; + KNV -> JBD; + KNV -> SVX; + PXX -> HHG; + PXX -> TTQ; + TDJ -> MFD; + TDJ -> QJT; + QLG -> PJN; + QLG -> VFS; + NRN -> HBG; + NRN -> FRX; + SHM -> GRK; + SHM -> XFR; + FHV -> HXX; + FHV -> NQV; + QFH -> GNC; + QFH -> CHX; + PCM -> QLQ; + PCM -> MPH; + VLX -> QMR; + VLX -> PBJ; + RPP -> HRT; + RPP -> RBK; + JXR -> SJK; + JXR -> PTL; + LPQ -> QDR; + LPQ -> RFF; + BFR -> STC; + BFR -> PJT; + XTT -> CBC; + XTT -> DSH; + HVF -> VTD; + HVF -> KDC; + JFJ -> FCP; + JFJ -> BHF; + LVQ -> PRG; + LVQ -> MQP; + JFD -> RBH; + JFD -> DFJ; + HFM -> TPJ; + HFM -> JGX; + BSV -> XQR; + BSV -> PMH; + JLC -> GGR; + JLC -> TFM; + NSQ -> FHV; + NSQ -> SCB; + NCP -> VHB; + NCP -> MCP; + JKB -> LDB; + JKB -> TLR; + BLX -> PDJ; + BLX -> GBX; + SVP -> BQJ; + SVP -> BFJ; + VSP -> CHX; + VSP -> GNC; + SPH -> FJB; + SPH -> FQN; + RPS -> VNF; + RPS -> BXD; + QMR -> TKD; + QMR -> XLJ; + QMJ -> MXS; + QMJ -> PGH; + JNB -> LGL; + JNB -> SRX; + RGM -> JTP; + RGM -> NTL; + GHK -> JPD; + GHK -> RLK; + TFX -> NJG; + TFX -> NJG; + NBQ -> JKP; + NBQ -> NLS; + NTX -> VFS; + NTX -> PJN; + QTS -> RQV; + QTS -> JMD; + LMN -> DSS; + LMN -> PBL; + CLK -> SRM; + CLK -> KCV; + MPD -> RMD; + MPD -> DRB; + PDS -> DDS; + PDS -> MLV; + NNX -> PRG; + NNX -> MQP; + BST -> DRB; + BST -> RMD; + DSG -> SGV; + DSG -> DVB; + KDC -> QVL; + KDC -> KLC; + VKX -> PSN; + VKX -> DSC; + LJM -> DBB; + LJM -> QXN; + VFV -> SHC; + VFV -> QGJ; + FXR -> RJN; + FXR -> RXD; + HGR -> HPS; + HGR -> MNQ; + BMN -> CCR; + BMN -> RPM; + CRH -> FSC; + CRH -> HTX; + QRV -> BBX; + QRV -> FFJ; + CKK -> VTD; + CKK -> KDC; + SDP -> RNT; + SDP -> RPN; + XLJ -> JTX; + XLJ -> QRN; + BSL -> PFL; + BSL -> GLN; + GJD -> FHV; + GJD -> SCB; + VNH -> DCJ; + VNH -> CXG; + BCB -> MXJ; + BCB -> LVR; + NBF -> MPH; + NBF -> QLQ; + MCK -> DVQ; + MCK -> FFT; + RFJ -> HFM; + RFJ -> JFK; + BBD -> LJM; + BBD -> NXN; + FMN -> SPR; + FMN -> DMJ; + JXK -> GPK; + JXK -> VQP; + SLL -> MHT; + SLL -> CDG; + TRR -> GNM; + TRR -> CSC; + MJC -> KXR; + MJC -> MCK; + MHT -> FBC; + MHT -> TJF; + TSF -> HDH; + TSF -> RGM; + FLG -> FQL; + FLG -> XQD; + MGX -> SLL; + MGX -> FQH; + RGR -> NMN; + RGR -> PXX; + RDA -> BVG; + RDA -> DJM; + VXX -> DHD; + VXX -> DLQ; + DXT -> BNV; + DXT -> TJG; + LCL -> DHV; + LCL -> NHN; + CKB -> FNN; + CKB -> FKT; + KNH -> LVR; + KNH -> MXJ; + GSQ -> PGR; + GSQ -> NDC; + CFM -> DPB; + CFM -> SHQ; + HDH -> JTP; + HDH -> NTL; + NSF -> VFV; + NSF -> QDN; + HSF -> KSJ; + HSF -> KBM; + GSR -> VLX; + GSR -> LBB; + GCT -> RQX; + GCT -> SJD; + RBN -> XDT; + RBN -> KNF; + XNF -> JNK; + XNF -> CKJ; + TCF -> RBK; + TCF -> HRT; + DPA -> MDS; + DPA -> SHG; + QTG -> JMT; + QTG -> DXT; + RGT -> SBP; + RGT -> BSZ; + XCX -> SFD; + XCX -> LGN; + KSJ -> KDR; + KSJ -> GKG; + GQN -> QGX; + GQN -> LVK; + MDM -> PJT; + MDM -> STC; + KKZ -> MKM; + KKZ -> QXP; + MQC -> JQL; + MQC -> TML; + VFS -> FDL; + VFS -> BQC; + TJX -> JRJ; + TJX -> HQB; + BSF -> MTT; + BSF -> JFP; + VMD -> PQH; + VMD -> VHC; + JTX -> HBT; + JTX -> MTH; + MCH -> FMN; + MCH -> JVN; + VBK -> MSJ; + VBK -> NBQ; + TBP -> GBH; + TBP -> LPQ; + TVX -> VQP; + TVX -> GPK; + NQN -> SVP; + NQN -> PGB; + SMG -> XLC; + SMG -> NVB; + SHD -> BCB; + SHD -> KNH; + JLF -> SQX; + JLF -> GJC; + GSF -> QTS; + GSF -> NHG; + BDN -> PNX; + BDN -> RGP; + GRK -> SMG; + GRK -> JNQ; + PLV -> TLB; + PLV -> TLB; + SQS -> HTJ; + SQS -> VRH; + PDH -> FXM; + PDH -> RJB; + VGP -> LLL; + VGP -> MNN; + JRQ -> TVT; + JRQ -> BLX; + CLX -> PCP; + CLX -> FGB; + PMF -> JDC; + PMF -> RJK; + JRJ -> BRL; + JRJ -> MXK; + XMQ -> PPV; + XMQ -> HFF; + BVT -> RQT; + BVT -> JKB; + FJT -> BXH; + FJT -> GSQ; + FRT -> TNC; + FRT -> PXR; + QVL -> XLB; + QVL -> MCH; + TNM -> BFK; + TNM -> PBC; + XPX -> BDS; + XPX -> TMM; + XCN -> SHH; + XCN -> BSR; + PKT -> FBD; + PKT -> NML; + TLB -> LKT; + TLB -> LKT; + TFG -> RMV; + TFG -> JLV; + SRN -> MDS; + SRN -> SHG; + FRC -> BHF; + FRC -> FCP; + GGR -> RTC; + GGR -> DKJ; + KFH -> JXK; + KFH -> TVX; + JNQ -> XLC; + JNQ -> NVB; + MTF -> RGC; + MTF -> THM; + STT -> RDJ; + STT -> SMN; + CPL -> XPX; + CPL -> JLX; + FGB -> XPP; + FGB -> QQR; + DLC -> RPP; + DLC -> TCF; + DJM -> QXH; + DJM -> BSQ; + MBH -> SGS; + MBH -> LBJ; + VBD -> RMX; + VBD -> PCX; + CXG -> TRP; + CXG -> CDJ; + NGV -> VMD; + NGV -> BQX; + GQB -> DRN; + GQB -> NXS; + FHR -> HTX; + FHR -> FSC; + DDL -> FQL; + DDL -> XQD; + FBC -> JNP; + FBC -> GQB; + DKJ -> TPH; + DKJ -> FJT; + RQB -> GQN; + RQB -> GXH; + LPM -> RDD; + LPM -> MRD; + BKJ -> GCT; + BKJ -> TNX; + GMS -> PDH; + GMS -> VHH; + HTM -> JXK; + HTM -> TVX; + PPQ -> CBC; + PPQ -> DSH; + MBR -> RQS; + MBR -> PCG; + PJT -> FGJ; + PJT -> QGS; + PQH -> RBN; + PQH -> HBP; + CBT -> RXH; + CBT -> RXH; + CHX -> HST; + CHX -> GJR; + BQC -> JCT; + BQC -> TRR; + NJK -> JMJ; + NJK -> CTD; + QVX -> VRH; + QVX -> HTJ; + KKM -> FTX; + KKM -> CCB; + NXN -> DBB; + NXN -> QXN; + JQL -> GPV; + JQL -> PVN; + MFR -> QXP; + MFR -> MKM; + VML -> HGR; + VML -> DHP; + PCJ -> THP; + PCJ -> RLV; + XRQ -> BVP; + XRQ -> NTH; + PXK -> PBD; + PXK -> BJK; + HCX -> HFS; + HCX -> HSF; + QJT -> MBR; + QJT -> GVL; + RLT -> BTX; + RLT -> QKH; + DKG -> QBQ; + DKG -> MPL; + CQP -> TSF; + CQP -> MVT; + HFF -> VBD; + HFF -> SNX; + KNF -> BKJ; + KNF -> PPJ; + FFT -> JFJ; + FFT -> FRC; + DDS -> PGK; + DDS -> DSG; + PFL -> SGB; + PFL -> SFQ; + RXS -> CPC; + RXS -> NQN; + XSV -> XCN; + XSV -> LPT; + MNQ -> VXV; + MNQ -> RFQ; + PVN -> SRJ; + PVN -> FNQ; + VNF -> KFH; + VNF -> HTM; + HPQ -> HVF; + HPQ -> CKK; + PGK -> DVB; + PGK -> SGV; + VHC -> HBP; + VHC -> RBN; + GBX -> SRN; + GBX -> RXZ; + SGV -> CBK; + SGV -> PGV; + TVV -> QLG; + TVV -> NTX; + KNT -> RPN; + KNT -> RNT; + TXB -> NSF; + TXB -> QJM; + PCP -> XPP; + PCP -> QQR; + PCG -> BDV; + PCG -> VXX; + MQF -> LSC; + MQF -> JTB; + QJN -> CKB; + QJN -> QSX; + QXH -> SVD; + QXH -> XSD; + LCT -> PCJ; + LCT -> GQH; + GKG -> HDN; + GKG -> HJJ; + TKD -> JTX; + TKD -> QRN; + KBQ -> XCN; + KBQ -> LPT; + KSM -> VKX; + KSM -> BGL; + MQQ -> NQP; + MQQ -> NVQ; + VFF -> HFS; + VFF -> HSF; + SSX -> TVT; + SSX -> TVT; + DSS -> VVX; + DSS -> VVX; + QDR -> SPH; + QDR -> BXM; + PGR -> RGK; + PGR -> RGK; + RML -> QRV; + RML -> XXD; + XDR -> JNS; + XDR -> FXR; + DVB -> PGV; + DVB -> CBK; + TSX -> QBX; + TSX -> DLJ; + QBQ -> TJR; + QBQ -> JSJ; + BBX -> LJF; + BBX -> BSV; + PTL -> DQP; + PTL -> LMN; + PBC -> BBD; + PBC -> SKJ; + VHB -> DLC; + VHB -> TGK; + XJP -> BCB; + XJP -> KNH; + STC -> QGS; + STC -> FGJ; + FNQ -> PXK; + FNQ -> GDL; + MXJ -> LHK; + MXJ -> BBB; + JNP -> NXS; + JNP -> DRN; + SGS -> TBP; + SGS -> VNK; + RFQ -> SHM; + RFQ -> NMD; + MLV -> DSG; + MLV -> PGK; + CDR -> VBK; + CDR -> JHN; + CTD -> DCX; + CTD -> BNG; + FRD -> FJX; + FRD -> FJX; + GCQ -> FCH; + GCQ -> JLC; + NXS -> KGL; + NXS -> LTN; + JBQ -> SBC; + JBQ -> XFF; + NLD -> DKM; + NLD -> TDJ; + VTG -> RBL; + VTG -> RPS; + JJG -> GSR; + JJG -> PVF; + DKM -> QJT; + DKM -> MFD; + RDJ -> LFN; + RDJ -> FVJ; + KTJ -> RPM; + KTJ -> CCR; + GSG -> FRT; + GSG -> MVG; + MTL -> JLF; + MTL -> MTS; + PNP -> RPV; + PNP -> VML; + TTG -> MBH; + TTG -> GJX; + LSC -> VDP; + LSC -> BSL; + THR -> DLJ; + THR -> QBX; + NQV -> BVT; + NQV -> XQK; + LBB -> PBJ; + LBB -> QMR; + NQQ -> KTJ; + NQQ -> BMN; + DMJ -> XJP; + DMJ -> SHD; + DSC -> XJS; + DSC -> NRN; + RXD -> GMS; + RXD -> XPD; + KBM -> GKG; + KBM -> KDR; + LLP -> LLL; + LLP -> MNN; + HNM -> VMD; + HNM -> BQX; + VNG -> VKH; + VNG -> SCV; + XDG -> GKF; + XDG -> CTZ; + PNX -> MFM; + PNX -> JJP; + PBK -> RHJ; + PBK -> NLD; + BVR -> CNF; + BVR -> HCQ; + DHV -> VCC; + DHV -> RXL; + TGK -> RPP; + TGK -> TCF; + RDD -> NJK; + RDD -> BTB; + NMN -> HHG; + NMN -> TTQ; + HJF -> HPJ; + HJF -> SFK; + BDV -> DLQ; + BDV -> DHD; + TVT -> PDJ; + TVT -> PDJ; + BGH -> TRQ; + BGH -> MLP; + FVJ -> RRL; + FVJ -> XNF; + DBB -> KKM; + DBB -> CGV; +} diff --git a/day-8/out.png b/day-8/out.png Binary files differnew file mode 100644 index 0000000..3bc8c0a --- /dev/null +++ b/day-8/out.png diff --git a/day-8/script.ts b/day-8/script.ts index 87e33cd..a9870c1 100644 --- a/day-8/script.ts +++ b/day-8/script.ts @@ -55,3 +55,13 @@ const result = startingNodes .reduce((acc, x) => lcm(acc, x), 1); console.log({ result }); + +// Visualization into graphviz file +// $ neato graph.dot -Tpng -o out.png +const dotFile = "graph.dot"; +fs.writeFileSync(dotFile, "digraph aoc {\n"); +nodes.forEach((node) => { + fs.appendFileSync(dotFile, ` ${node.name} -> ${nodes[node.left].name};\n`); + fs.appendFileSync(dotFile, ` ${node.name} -> ${nodes[node.right].name};\n`); +}); +fs.appendFileSync(dotFile, "}\n"); |