Index: aoc2015.c ================================================================== --- aoc2015.c +++ aoc2015.c @@ -1,7 +1,30 @@ #include +#include #include "aocdailies.h" +#include "aocutils.h" + +void aoc201502(char *data, size_t len) { + (void)len; // unused argument + unsigned sqf = 0; + for (;;) { + char *err; + unsigned l = strtoul(data, &err, 10); + if (*err == 0) break; + data = err + 1; // skip 'x' + unsigned w = strtoul(data, &err, 10); + data = err + 1; // skip 'x' + unsigned h = strtoul(data, &err, 10); + data = err + 1; // skip newline + unsigned lw = l * w; + unsigned wh = w * h; + unsigned hl = h * l; + unsigned m = min3u(lw, wh, hl); + sqf += 2*(lw + wh + hl) + m; + } + printf("The elves need %u square feet of paper.\n", sqf); +} void aoc201501(char *data, size_t len) { (void)len; // unused argument int floor = 0, basementsteps = -1; char *ddata = data; // save start Index: aocdailies.c ================================================================== --- aocdailies.c +++ aocdailies.c @@ -33,12 +33,12 @@ case 201507: p = aoc201507; break; case 201506: p = aoc201506; break; case 201505: p = aoc201505; break; case 201504: p = aoc201504; break; case 201503: p = aoc201503; break; - case 201502: p = aoc201502; break; #endif + case 201502: p = aoc201502; break; case 201501: p = aoc201501; break; } return p; } Index: aocdailies.h ================================================================== --- aocdailies.h +++ aocdailies.h @@ -33,10 +33,10 @@ aocfunc aoc201507; aocfunc aoc201506; aocfunc aoc201505; aocfunc aoc201504; aocfunc aoc201503; -aocfunc aoc201502; #endif +aocfunc aoc201502; aocfunc aoc201501; #endif