X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=15b.c;h=029d305d71f97ead949a28a61e3e45495f0c3a88;hb=09f77b0ecadc0625753adfeb990142cf0c0f6735;hp=26881a36f382ce7caa96ed2a5045b07a8c3d48ee;hpb=90ea69871badd76ada4faffbe02fe1a615f025ee;p=advent21.git diff --git a/15b.c b/15b.c index 26881a3..029d305 100644 --- a/15b.c +++ b/15b.c @@ -15,11 +15,9 @@ int maxy = 0; int get_grid(int x, int y) { - if (x == 0 && y == 0) - return 0; int r = grid[y%maxy][x%maxx] + y/maxy + x/maxx; - while (r > 9) - r -= 9; + if (r > 9) + return r % 9; return r; } @@ -73,6 +71,7 @@ int main() int alt = dist[u.y][u.x] + get_grid(v->key.x, v->key.y); if (alt < dist[v->key.y][v->key.x]) { dist[v->key.y][v->key.x] = alt; + //Reinsert with in correct position HASH_DELETE(hh, q, v); HASH_ADD_INORDER(hh, q, key, sizeof(struct point), v, qcmp); }