common.h (638B)
1 #ifndef COMMON_H_ 2 #define COMMON_H_ 3 4 #include <assert.h> 5 #include <stdint.h> 6 #include <stdio.h> 7 #include <stdlib.h> 8 9 #include <reading.h> 10 #include <stack_u64.h> 11 12 typedef struct interval { 13 uint64_t lb; 14 uint64_t ub; 15 } iv_t; 16 17 typedef struct brick { 18 iv_t ivs[3]; 19 } brick_t; 20 21 void read_bricks(brick_t *bricks, char **lines, const size_t nlines); 22 void sort_bricks(brick_t *bricks, const size_t n); 23 void gravitize(brick_t *a); 24 int may_gravitize(const brick_t *a, const brick_t *landed, 25 const size_t nlanded); 26 void gravitize_all(brick_t *bricks, const size_t n); 27 int brick_nei(const brick_t *a, const brick_t *b); 28 29 #endif