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 }