aocc23

Advent of Code 2023
git clone git://www.tkruger.se/aocc23.git
Log | Files | Refs | README

uppga.c (574B)


      1 #include "common.h"
      2 
      3 int main(int argc, char **argv) {
      4   char **lines;
      5   size_t nlines = readlines(&lines, "input");
      6 
      7   char *instructions = lines[0];
      8   uint64_t lefts[ZZZ + 1];
      9   uint64_t rights[ZZZ + 1];
     10 
     11   read_graph(lefts, rights, lines, nlines);
     12 
     13   uint64_t n = AAA;
     14   uint64_t count = 0;
     15   while (n != ZZZ) {
     16     if (*instructions == 'L')
     17       n = lefts[n];
     18     else if (*instructions == 'R')
     19       n = rights[n];
     20     count++;
     21 
     22     instructions++;
     23     if (*instructions != 'R' && *instructions != 'L')
     24       instructions = lines[0];
     25   }
     26 
     27   printf("%llu\n", count);
     28 }