uppga.c (575B)
1 #include "common.h" 2 3 int main(int argc, char **argv) { 4 char **lines; 5 size_t nlines = readlines(&lines, "input"); 6 7 stack_u64 *stacks; 8 size_t nstacks; 9 stack_u64 moves; 10 11 parse(&moves, &stacks, &nstacks, lines, nlines); 12 13 size_t i, j; 14 for (i = 0; i < moves.nmemb; i += 3) { 15 uint64_t tmp = moves.data[i]; 16 moves.data[i] = 1; 17 for (j = 0; j < tmp; j++) 18 makeamove(stacks, nstacks, &(moves.data[i])); 19 } 20 printtops(stacks, nstacks); 21 printf("\n"); 22 23 for (i = 0; i < nstacks; i++) { 24 stack_u64_clear(&stacks[i]); 25 } 26 stack_u64_clear(&moves); 27 }