Overview
Comment: | removed extra stuff |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | TextGrid |
Files: | files | file ages | folders |
SHA3-256: |
85dc24a9dca424333b385028ad4fb2dc |
User & Date: | nnz on 2024-12-08 13:25:06 |
Other Links: | branch diff | manifest | tags |
Context
2024-12-08
| ||
13:52 | TextGrid looks ok check-in: d59f9c2e2f user: nnz tags: TextGrid | |
13:25 | removed extra stuff check-in: 85dc24a9dc user: nnz tags: TextGrid | |
13:13 | struct TextGrid is replacing linearize2d check-in: f28e83772a user: nnz tags: TextGrid | |
Changes
Modified aoc2024.c from [08525a5b9c] to [bf5d44504f].
1 2 3 4 5 6 7 8 9 | #include <ctype.h> #include <stdbool.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "aocdailies.h" #include "aocutils.h" | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <ctype.h> #include <stdbool.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "aocdailies.h" #include "aocutils.h" /* === aoc202407 ======================================================= Part one looks easy Part two also easy ===================================================================== */ static unsigned long long concat(unsigned long long a, unsigned long long b) { unsigned long long r = a, t = b; |
︙ | ︙ | |||
117 118 119 120 121 122 123 | /* === aoc202406 ======================================================= Hmmm, I've done something like this already this year... on day 4 I need rcmap() moved to aocutils ... done; now it's called `linearize2d` Part Two: brute force? It likely is faster than coming up with an algo Let's go: save map, for every available position put in an obstacle, loop around until some place is visited 4? times or area is exited | | | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /* === aoc202406 ======================================================= Hmmm, I've done something like this already this year... on day 4 I need rcmap() moved to aocutils ... done; now it's called `linearize2d` Part Two: brute force? It likely is faster than coming up with an algo Let's go: save map, for every available position put in an obstacle, loop around until some place is visited 4? times or area is exited TODO remove linearize2d ===================================================================== */ static bool validpos(unsigned s, int r, int c) { if (r < 0) return false; if (c < 0) return false; if ((unsigned)r >= s - 1) return false; if ((unsigned)c >= s - 1) return false; |
︙ | ︙ | |||
275 276 277 278 279 280 281 | accumsum += accum; } while ((line = strtok(NULL, "\n")) != NULL); printf("The sum of middle update numbers is {%u}.\n", accumsum); printf("The sum of middle update numbers for newly ordered updates is {%u}.\n", accumsum2); } /* === aoc202404 ======================================================= | | | 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | accumsum += accum; } while ((line = strtok(NULL, "\n")) != NULL); printf("The sum of middle update numbers is {%u}.\n", accumsum); printf("The sum of middle update numbers for newly ordered updates is {%u}.\n", accumsum2); } /* === aoc202404 ======================================================= TODO remove linearize2d ===================================================================== */ static bool masat(char *data, unsigned size, unsigned row, unsigned col, int drow, int dcol) { int maxrow = (int)row + 3*drow; int maxcol = (int)col + 3*dcol; if ((0 <= maxrow) && (maxrow < (int)size) && (0 <= maxcol) && (maxcol < (int)size)) { if (data[linearize2d(size+1, (unsigned)((int)row + drow), (unsigned)((int)col + dcol))] != 'M') return false; |
︙ | ︙ |
Modified aocdailies.c from [fb8ca294f1] to [e5e3eb3466].
1 2 3 4 5 6 7 8 9 | #include <stddef.h> #include "aocdailies.h" aocfunc *aocselect(unsigned y, unsigned d) { aocfunc *p; switch (y * 100 + d) { default: p = NULL; break; // YYYYdd ==> aocYYYYdd | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stddef.h> #include "aocdailies.h" aocfunc *aocselect(unsigned y, unsigned d) { aocfunc *p; switch (y * 100 + d) { default: p = NULL; break; // YYYYdd ==> aocYYYYdd case 202407: p = aoc202407; break; case 202406: p = aoc202406; break; case 202405: p = aoc202405; break; case 202404: p = aoc202404; break; case 202403: p = aoc202403; break; case 202402: p = aoc202402; break; case 202401: p = aoc202401; break; |
︙ | ︙ |
Modified aocdailies.h from [114faad3c2] to [e05094a8ab].
1 2 3 4 5 6 7 8 | #ifndef AOCDAILIES_H_INCLUDED #define AOCDAILIES_H_INCLUDED #include <stddef.h> typedef void aocfunc(char *, size_t); aocfunc *aocselect(unsigned, unsigned); | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #ifndef AOCDAILIES_H_INCLUDED #define AOCDAILIES_H_INCLUDED #include <stddef.h> typedef void aocfunc(char *, size_t); aocfunc *aocselect(unsigned, unsigned); aocfunc aoc202407; aocfunc aoc202406; aocfunc aoc202405; aocfunc aoc202404; aocfunc aoc202403; aocfunc aoc202402; aocfunc aoc202401; |
︙ | ︙ |