Advent of Code

Check-in [b43933ad99]
Login

Check-in [b43933ad99]

Overview
Comment:2025, day 9, part1
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b43933ad995f075dfd3d5e12f84ec2ed9f97d6de25b14514c6a89315c880e7f1
User & Date: nnz on 2025-12-09 11:06:53.721
Other Links: manifest | tags
Context
2025-12-10
12:25
day 10 on hold check-in: a42eafcdd1 user: nnz tags: trunk
2025-12-09
11:06
2025, day 9, part1 check-in: b43933ad99 user: nnz tags: trunk
2025-12-08
11:21
day 8 is on hold check-in: f2d9741398 user: nnz tags: trunk
Changes
Modified aoc2025.c from [203845b676] to [d27e7567fd].
11
12
13
14
15
16
17




























18
19
20
21
22
23
24
/* === aocYYYYDD =======================================================
===================================================================== */
void aocYYYYDD(char *data, size_t len) {
    (void)len; // unused argument
}

#endif





























/* === aoc202508 =======================================================
===================================================================== */
void aoc202508(char *data, size_t len) {
    (void)data; // unused argument
    (void)len; // unused argument
}







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* === aocYYYYDD =======================================================
===================================================================== */
void aocYYYYDD(char *data, size_t len) {
    (void)len; // unused argument
}

#endif

/* === aoc202509 =======================================================
===================================================================== */
struct iCoords {
    int row, col;
};

void aoc202509(char *data, size_t len) {
    (void)len; // unused argument
    struct iCoords p[512] = {0};
    char *err = data;
    int k = 0;
    while (*err) {
        p[k].row = strtol(err, &err, 10);
        if (*err != ',') break;
        err++;
        p[k++].col = strtol(err, &err, 10);
    }
    long long max_area = 0;
    for (int i = 0; i < k; i++) {
        for (int j = i + 1; j < k; j++) {
            long long area = 1LL * (abs(p[i].col - p[j].col) + 1)
                                 * (abs(p[i].row - p[j].row) + 1);
            if (area > max_area) max_area = area;
        }
    }
    printf("P1: %lld\n", max_area);
}

/* === aoc202508 =======================================================
===================================================================== */
void aoc202508(char *data, size_t len) {
    (void)data; // unused argument
    (void)len; // unused argument
}
1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
#include <stddef.h>
#include "aocdailies.h"

aocfunc *aocselect(unsigned y, unsigned d) {
    aocfunc *p;
    switch (y * 100 + d) {
        default: p = NULL; break;


        case 202508: p = aoc202508; break;
        case 202507: p = aoc202507; break;
        case 202506: p = aoc202506; break;
        case 202505: p = aoc202505; break;
        case 202504: p = aoc202504; break;
        case 202503: p = aoc202503; break;
        case 202502: p = aoc202502; break;








>







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;

        case 202509: p = aoc202509; break;
        case 202508: p = aoc202508; break;
        case 202507: p = aoc202507; break;
        case 202506: p = aoc202506; break;
        case 202505: p = aoc202505; break;
        case 202504: p = aoc202504; break;
        case 202503: p = aoc202503; break;
        case 202502: p = aoc202502; break;
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 aoc202508;
aocfunc aoc202507;
aocfunc aoc202506;
aocfunc aoc202505;
aocfunc aoc202504;
aocfunc aoc202503;
aocfunc aoc202502;








>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef AOCDAILIES_H_INCLUDED
#define AOCDAILIES_H_INCLUDED

#include <stddef.h>

typedef void aocfunc(char *, size_t);
aocfunc *aocselect(unsigned, unsigned);

aocfunc aoc202509;
aocfunc aoc202508;
aocfunc aoc202507;
aocfunc aoc202506;
aocfunc aoc202505;
aocfunc aoc202504;
aocfunc aoc202503;
aocfunc aoc202502;