bbrute.c (617B)
1 #include "common.h" 2 3 int main(int argc, char **argv) { 4 char **lines; 5 size_t nlines = readlines(&lines, "input"); 6 printf("#lines: %lu\n", nlines); 7 8 monki *m = parse(lines, nlines); 9 10 int64_t brute = 1; 11 int64_t v1 = 1, v2 = 0; 12 m[monkindex("humn")].op = '\0'; 13 do { 14 m[monkindex("humn")].v = brute; 15 v1 = mcompute(monkindex("zhfp"), m); 16 v2 = mcompute(monkindex("hghd"), m); 17 if (brute > 0) { 18 if (brute % 10000000 == 0) 19 printf("> %lld\n", brute); 20 brute = -brute; 21 } else { 22 brute = (-brute) + 1; 23 } 24 } while (v1 != v2); 25 26 printf("%lld\n", brute); 27 28 free(m); 29 }