Overview
| Comment: | 201503 1st star |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
84c4349d5ee108078fd4d9624dfaa8e9 |
| User & Date: | nnz on 2024-12-04 18:21:47.216 |
| Original Comment: | 201503 -- 1 star |
| Other Links: | manifest | tags |
Context
|
2024-12-04
| ||
| 18:37 | 201503 2nd star check-in: f5ff8c9552 user: nnz tags: trunk | |
| 18:21 | 201503 1st star check-in: 84c4349d5e user: nnz tags: trunk | |
| 16:13 | simplified command line validation check-in: f66f7bf395 user: nnz tags: trunk | |
Changes
Modified aoc2015.c
from [6413bdc5b2]
to [fbd36b6015].
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h>
#include <stdlib.h>
#include "aocdailies.h"
#include "aocutils.h"
void aoc201502(char *data, size_t len) {
(void)len; // unused argument
unsigned sqf = 0, f = 0;
for (;;) {
char *err;
unsigned l = strtoul(data, &err, 10);
if (*err == 0) break;
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 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 53 54 55 56 57 |
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include "aocdailies.h"
#include "aocutils.h"
struct House {
int row, col;
};
#ifndef MAX_HOUSES
# define MAX_HOUSES 2400
#else
# error MAX_HOUSES already defined
#endif
void aoc201503(char *data, size_t len) {
(void)len; // unused argument
struct House house[MAX_HOUSES] = {0};
unsigned nhouse = 1; // house at [0, 0] visited
int x = 0, y = 0;
while (*data) {
switch (*data) {
default: break;
case '^': y++; break;
case 'v': y--; break;
case '>': x++; break;
case '<': x--; break;
}
data++;
bool visited = false;
for (size_t k = 0; k < nhouse; k++) {
if ((house[k].row == x) && (house[k].col == y)) {
visited = true;
break;
}
}
if (!visited) {
if (nhouse == MAX_HOUSES) {
fprintf(stderr, "Need more houses in aoc201503()\n");
exit(EXIT_FAILURE);
}
house[nhouse].row = x;
house[nhouse].col = y;
nhouse += 1;
}
}
printf("Santa delivered at least 1 present to %u houses.\n", nhouse);
}
#undef MAX_HOUSES
void aoc201502(char *data, size_t len) {
(void)len; // unused argument
unsigned sqf = 0, f = 0;
for (;;) {
char *err;
unsigned l = strtoul(data, &err, 10);
if (*err == 0) break;
|
| ︙ | ︙ |
Modified aocdailies.c
from [439033dc50]
to [0c5580f51d].
| ︙ | ︙ | |||
30 31 32 33 34 35 36 |
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;
| < > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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;
}
|
Modified aocdailies.h
from [86e7c68c5a]
to [78d65ea150].
| ︙ | ︙ | |||
30 31 32 33 34 35 36 | aocfunc aoc201510; aocfunc aoc201509; aocfunc aoc201508; aocfunc aoc201507; aocfunc aoc201506; aocfunc aoc201505; aocfunc aoc201504; | < > | 30 31 32 33 34 35 36 37 38 39 40 41 42 | aocfunc aoc201510; aocfunc aoc201509; aocfunc aoc201508; aocfunc aoc201507; aocfunc aoc201506; aocfunc aoc201505; aocfunc aoc201504; #endif aocfunc aoc201503; aocfunc aoc201502; aocfunc aoc201501; #endif |