Compare commits
2 Commits
af2c148dc1
...
f43acb06fe
| Author | SHA1 | Date | |
|---|---|---|---|
| f43acb06fe | |||
| e851e48f1e |
6
day5.c
6
day5.c
@@ -131,10 +131,8 @@ unsigned long do_part2(size_t file_len, unsigned char file[file_len]) {
|
||||
d++;
|
||||
} while (*s != '\n');
|
||||
|
||||
#if PRETTY
|
||||
size_t range_cnt = d - ranges;
|
||||
qsort(ranges, range_cnt, sizeof(*ranges), linecmp);
|
||||
#endif
|
||||
|
||||
d->sv = 0;
|
||||
|
||||
@@ -147,12 +145,10 @@ unsigned long do_part2(size_t file_len, unsigned char file[file_len]) {
|
||||
bcdint djs = dj->sv;
|
||||
bcdint dje = dj->ev;
|
||||
if (djs == -1) continue;
|
||||
if (djs > die) continue outer;
|
||||
if (djs <= die && djs >= dis) {
|
||||
djs = bcdadd(die, 1);
|
||||
}
|
||||
if (dje >= dis && dje <= die) {
|
||||
dje = bcdsub(dis, 1);
|
||||
}
|
||||
if (djs == dj->sv && dje == dj->ev)
|
||||
continue;
|
||||
if (dje < djs) {
|
||||
|
||||
21
lib.h
21
lib.h
@@ -232,16 +232,17 @@ static num bcdtonum(bcdint a) {
|
||||
+ ((a >> 8) & 0xF) * 100
|
||||
+ ((a >> 12) & 0xF) * 1000
|
||||
+ ((a >> 16) & 0xF) * 10000
|
||||
+ ((a >> 24) & 0xF) * 100000
|
||||
+ ((a >> 28) & 0xF) * 1000000
|
||||
+ ((a >> 32) & 0xF) * 10000000
|
||||
+ ((a >> 36) & 0xF) * 100000000
|
||||
+ ((a >> 40) & 0xF) * 1000000000
|
||||
+ ((a >> 44) & 0xF) * 10000000000
|
||||
+ ((a >> 48) & 0xF) * 100000000000
|
||||
+ ((a >> 52) & 0xF) * 1000000000000
|
||||
+ ((a >> 56) & 0xF) * 10000000000000
|
||||
+ ((a >> 60) & 0xF) * 100000000000000;
|
||||
+ ((a >> 20) & 0xF) * 100000
|
||||
+ ((a >> 24) & 0xF) * 1000000
|
||||
+ ((a >> 28) & 0xF) * 10000000
|
||||
+ ((a >> 32) & 0xF) * 100000000
|
||||
+ ((a >> 36) & 0xF) * 1000000000
|
||||
+ ((a >> 40) & 0xF) * 10000000000
|
||||
+ ((a >> 44) & 0xF) * 100000000000
|
||||
+ ((a >> 48) & 0xF) * 1000000000000
|
||||
+ ((a >> 52) & 0xF) * 10000000000000
|
||||
+ ((a >> 56) & 0xF) * 100000000000000
|
||||
+ ((a >> 60) & 0xF) * 1000000000000000;
|
||||
}
|
||||
|
||||
static bcdint numtobcd(num a) {
|
||||
|
||||
Reference in New Issue
Block a user