Overview
| Comment: | removed extra stuff |
|---|---|
| Downloads: | Tarball | ZIP 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.061 |
| 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; |
| ︙ | ︙ |