advent2025

Advent of Code 2025 Solutions
git clone git://bsandro.tech/advent2025
Log | Files | Refs | LICENSE

commit 8e308a8b6f1cd70d172aed00b55b051b9b6dfb5a
parent 96dd562b534a326824aa829de48c0a0bd90c68a9
Author: bsandro <email@bsandro.tech>
Date:   Sat,  6 Dec 2025 08:59:11 +0200

day06 p1; p2 is not finished yet

Diffstat:
Mday06.c | 29+++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/day06.c b/day06.c @@ -4,7 +4,7 @@ // tail -n1 inputs/day06.txt | sed 's/\s/\n/g'|sort|grep '+\|*'|wc -l #define W 1001 -#define H 5 +#define H 4 #define DIG 4 typedef struct { @@ -28,23 +28,28 @@ uint64_t part1(int numbers[H][W], int x, char c) { return num; } -void reverse(char symbols[DIG]) { - for (int i=0;i<DIG/2;++i) { - char t = symbols[i]; - symbols[i] = symbols[DIG-i-1]; - symbols[DIG-i-1] = t; +void align(char symbols[DIG]) { + if (symbols[DIG-1]!=0) return; + int cur = DIG-1; + for (int i=DIG-1;i>=0;--i) { + if (symbols[i]!=0) { + symbols[cur--] = symbols[i]; + symbols[i] = 0; + } } } uint64_t part2(Number digits[H][W], int x, char c) { uint64_t num = 0; for (int y=0;y<H;++y) { - for (int d=0;d<DIG;++d) { - Number n = digits[y][x]; - printf("%2c",n.symbols[d]>0?n.symbols[d]:'0'); - } - printf("\n"); + printf("%c",digits[y][x].symbols[DIG-1]); + //for (int d=DIG-1;d>=0;--d) { + // Number n = digits[y][x]; + //printf("%2c",n.symbols[d]>0?n.symbols[d]:'0'); + //} + //printf("\n"); } + printf("\n"); (void)c; return num; } @@ -65,7 +70,7 @@ int main(void) { } else if (c==' '||c=='\n') { if (bufl!=0) { numbers[y][x] = btoi(buf, bufl); - reverse(digits[y][x].symbols); + align(digits[y][x].symbols); bufl = 0; x++; }