Advent of Code

Check-in [d415c28af8]
Login

Check-in [d415c28af8]

Overview
Comment:prepare for tomorrow, start work on 201504
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: d415c28af8b9fec65b5ca708e25d20f4c16c244cd1eab69fb6cdf3a09d78b5c2
User & Date: nnz on 2024-12-05 20:38:47
Other Links: manifest | tags
Context
2024-12-05
21:10
inputs are now in their directory check-in: 72ebf0375e user: nnz tags: trunk
20:38
prepare for tomorrow, start work on 201504 check-in: d415c28af8 user: nnz tags: trunk
16:55
202405 2nd star check-in: 149ea78401 user: nnz tags: trunk
Changes

Modified aoc2015.c from [1008e51170] to [6878e59665].

1
2
3
4
5













6
7
8
9
10
11
12
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include "aocdailies.h"
#include "aocutils.h"














struct House {
    int row, col;
};

void aoc201503(char *data, size_t len) {
    (void)len; // unused argument





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







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include "aocdailies.h"
#include "aocutils.h"

void aoc201504(char *data, size_t len) {
    (void)len; // unused argument
    unsigned extra = 1;
    char longkey[128];
    for (;;) {
        sprintf(longkey, "%s%u", data, extra);
        //md5(longkey);
        if (1) break;
        extra++;
    }
    printf("Follow your key with %u to obtain five zeroes\n", extra);
}

struct House {
    int row, col;
};

void aoc201503(char *data, size_t len) {
    (void)len; // unused argument

Modified aoc2024.c from [72b0bedd28] to [bb8df23888].

1
2
3
4
5
6
7
8





9
10
11
12
13
14
15
#include <ctype.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "aocdailies.h"
#include "aocutils.h"






static int ppcmp(unsigned a, unsigned b, unsigned (*r)[2], size_t nr) {
    for (size_t k = 0; k < nr; k++) {
        if ((a == r[k][0]) && (b == r[k][1])) return -1;
        if ((a == r[k][1]) && (b == r[k][0])) return 1;
    }
    return 0;








>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <ctype.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "aocdailies.h"
#include "aocutils.h"

void aoc202406(char *data, size_t len) {
    (void)data;
    (void)len;
}

static int ppcmp(unsigned a, unsigned b, unsigned (*r)[2], size_t nr) {
    for (size_t k = 0; k < nr; k++) {
        if ((a == r[k][0]) && (b == r[k][1])) return -1;
        if ((a == r[k][1]) && (b == r[k][0])) return 1;
    }
    return 0;

Modified aocdailies.c from [1d3de21cad] to [e95e69a444].

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 202405: p = aoc202405; break;
        case 202404: p = aoc202404; break;
        case 202403: p = aoc202403; break;
        case 202402: p = aoc202402; break;
        case 202401: p = aoc202401; break;

        #if 0








>







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 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;

        #if 0
30
31
32
33
34
35
36
37
38

39
40
41
42
43
44
45
        case 201511: p = aoc201511; break;
        case 201510: p = aoc201510; break;
        case 201509: p = aoc201509; break;
        case 201508: p = aoc201508; break;
        case 201507: p = aoc201507; break;
        case 201506: p = aoc201506; break;
        case 201505: p = aoc201505; break;
        case 201504: p = aoc201504; break;
        #endif

        case 201503: p = aoc201503; break;
        case 201502: p = aoc201502; break;
        case 201501: p = aoc201501; break;

    }
    return p;
}







<

>







31
32
33
34
35
36
37

38
39
40
41
42
43
44
45
46
        case 201511: p = aoc201511; break;
        case 201510: p = aoc201510; break;
        case 201509: p = aoc201509; break;
        case 201508: p = aoc201508; break;
        case 201507: p = aoc201507; break;
        case 201506: p = aoc201506; break;
        case 201505: p = aoc201505; break;

        #endif
        case 201504: p = aoc201504; break;
        case 201503: p = aoc201503; break;
        case 201502: p = aoc201502; break;
        case 201501: p = aoc201501; break;

    }
    return p;
}

Modified aocdailies.h from [624d10b25c] to [730fdd33bd].

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 aoc202405;
aocfunc aoc202404;
aocfunc aoc202403;
aocfunc aoc202402;
aocfunc aoc202401;

#if 0








>







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 aoc202406;
aocfunc aoc202405;
aocfunc aoc202404;
aocfunc aoc202403;
aocfunc aoc202402;
aocfunc aoc202401;

#if 0
30
31
32
33
34
35
36
37
38

39
40
41
42
43
aocfunc aoc201511;
aocfunc aoc201510;
aocfunc aoc201509;
aocfunc aoc201508;
aocfunc aoc201507;
aocfunc aoc201506;
aocfunc aoc201505;
aocfunc aoc201504;
#endif

aocfunc aoc201503;
aocfunc aoc201502;
aocfunc aoc201501;

#endif







<

>





31
32
33
34
35
36
37

38
39
40
41
42
43
44
aocfunc aoc201511;
aocfunc aoc201510;
aocfunc aoc201509;
aocfunc aoc201508;
aocfunc aoc201507;
aocfunc aoc201506;
aocfunc aoc201505;

#endif
aocfunc aoc201504;
aocfunc aoc201503;
aocfunc aoc201502;
aocfunc aoc201501;

#endif