Index: aoc2024.c ================================================================== --- aoc2024.c +++ aoc2024.c @@ -6,13 +6,28 @@ #include #include "aocdailies.h" #include "aocutils.h" void aoc202405(char *data, size_t len) { - (void)data; // unused argument (void)len; // unused argument - printf("wip/n"); + // assume (by visual inspection) all page numbers `pn` are between 10 and 99 + unsigned pagepair[2500][2], npp = 0; + char *line = strtok(data, "\n"); + while (strchr(line, '|')) { + char *err; + pagepair[npp][0] = strtoul(line, &err, 10); + err += 1; // skip '|' + pagepair[npp][1] = strtoul(line, &err, 10); + npp++; + line = strtok(NULL, "\n"); + } + printf("first pagepair: %u and %u\n", pagepair[0][0], pagepair[0][1]); + printf("last pagepair: %u and %u\n", pagepair[npp - 1][0], pagepair[npp - 1][1]); + printf("got %u pairs\n", npp); + while ((line = strtok(NULL, "\n")) != NULL) { + // process line + } } static size_t rcmap(unsigned size, unsigned row, unsigned col) { return row * (size + 1) + col; }