75 lines
1.3 KiB
C
75 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#define MAGICNUMBER 19690720
|
|
|
|
int main(void) {
|
|
int i, vi, c, wl, v[256];
|
|
char buffer[16];
|
|
for (i=0, vi=0; (c=getchar())!=EOF || wl == 1;) {
|
|
switch (c) {
|
|
case '9':
|
|
case '8':
|
|
case '7':
|
|
case '6':
|
|
case '5':
|
|
case '4':
|
|
case '3':
|
|
case '2':
|
|
case '1':
|
|
case '0': buffer[i++] = c;
|
|
wl=1;
|
|
default: break;
|
|
}
|
|
if (c == ',' || c==EOF) {
|
|
buffer[i] = '\0';
|
|
i=0;
|
|
wl=0;
|
|
if (buffer[0] != '\0') {
|
|
v[vi++] = atoi(buffer);
|
|
}
|
|
}
|
|
}
|
|
v[vi] = '\0';
|
|
|
|
int a, b, wv[256];
|
|
printf("\e[1;1H\e[2J\e[1;0HRunning\n");
|
|
for (a=1; a<99; a++) {
|
|
wv[0] = 0;
|
|
printf("\033[2;0HA:%i", a);
|
|
for (b=1; b<99; b++) {
|
|
for (int x=0; x<vi; x++) {
|
|
wv[x] = v[x];
|
|
wv[x+1] = '\0';
|
|
}
|
|
printf("\033[3;0HB:%i", b);
|
|
wv[1] = a;
|
|
wv[2] = b;
|
|
for (i=0; i < vi-3;) {
|
|
switch (wv[i]) {
|
|
case 1:
|
|
wv[wv[i+3]] = wv[wv[i+1]] + wv[wv[i+2]];
|
|
break;
|
|
case 2:
|
|
wv[wv[i+3]] = wv[wv[i+1]] * wv[wv[i+2]];
|
|
break;
|
|
case 99:
|
|
break;
|
|
default: return 1;
|
|
}
|
|
if (wv[i] == 99) {
|
|
break;
|
|
}
|
|
printf("\033[4;0HC:%i\n", i);
|
|
i=i+4;
|
|
}
|
|
if (wv[0]==MAGICNUMBER) {
|
|
printf("\e[1;1H\e[2JBingo! %i\n", 100*a+b);
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
printf("Bad luck :C\n");
|
|
return 1;
|
|
}
|