Index: aoc2024.c ================================================================== --- aoc2024.c +++ aoc2024.c @@ -7,35 +7,35 @@ #include "aocdailies.h" #include "aocutils.h" void aoc202405(char *data, size_t len) { (void)len; // unused argument - // assume (by visual inspection) all page numbers `pn` are between 10 and 99 - unsigned pagepair[1200][2], npp = 0; + unsigned pagepair[1200][2], npp = 0; // 1200 works for me 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("%u\n", pagepair[0][0]); - unsigned update[512], nupdates, maxupdates = 0; + unsigned update[32], nupdates, maxupdates = 0; // 32 works dor me while ((line = strtok(NULL, "\n")) != NULL) { nupdates = 0; char *err = line; for (;;) { update[nupdates++] = strtoul(err, &err, 10); if (*err == ',') err++; else break; } - if (nupdates > maxupdates) maxupdates = nupdates; + for (size_t k = 0; k < nupdates; k++) { + //... + } } - printf("%u nax updates\n", maxupdates); } + static size_t rcmap(unsigned size, unsigned row, unsigned col) { return row * (size + 1) + col; } static bool masat(char *data, unsigned size, unsigned row, unsigned col, int drow, int dcol) {