#include #include #include static void run(int *v) { for (int i = 0; v[i] != 99; i += 4) { switch (v[i]) { break; case 1: v[v[i + 3]] = v[v[i + 1]] + v[v[i + 2]]; break; case 2: v[v[i + 3]] = v[v[i + 1]] * v[v[i + 2]]; break; default: abort(); } } } int main(void) { int a[1024] = {0}; for (int i = 0; EOF != scanf("%d,", &a[i]); ++i); int v[1024]; memcpy(v, a, sizeof(v)); v[1] = 12; v[2] = 2; run(v); printf("%d\n", v[0]); for (int noun = 0; noun < 100; ++noun) { for (int verb = 0; verb < 100; ++verb) { memcpy(v, a, sizeof(v)); v[1] = noun; v[2] = verb; run(v); if (v[0] != 19690720) continue; printf("%d\n", 100 * noun + verb); return 0; } } }