commit f05cd011db346762afadfe389af60d32c7b46172
parent bce08140c1fe98bd14e4d19f67b4785b27da8e87
Author: bsandro <email@bsandro.tech>
Date: Tue, 9 Dec 2025 01:24:29 +0200
day08 tiny optimizations
Diffstat:
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/day08.c b/day08.c
@@ -103,9 +103,10 @@ static int cmp_circuits(const void *vc1, const void *vc2) {
static int circuits_merge(int circuits_l, Circuit *circuits) {
int new_len = circuits_l;
for (int i=0;i<circuits_l;++i) {
- Circuit *cir1 = &circuits[i];
- for (int j=0;j<circuits_l;++j) {
+ for (int j=i;j<circuits_l;++j) {
+ Circuit *cir1 = &circuits[i];
Circuit *cir2 = &circuits[j];
+ if (i==j) continue;
if (cir1==cir2) continue;
if (circuits_overlap(cir1, cir2)) {
circuit_merge(cir1, cir2);
@@ -146,7 +147,7 @@ int main(void) {
Distance *dists = calloc(dists_cnt, sizeof(Distance));
int dists_l = 0;
for (int i1=0;i1<points_l;++i1) {
- for (int i2=0;i2<points_l;++i2) {
+ for (int i2=i1;i2<points_l;++i2) {
if (i1==i2) continue;
Point *p1 = &points[i1];
Point *p2 = &points[i2];