/* Jeffrey Dudek
ACSL Contest #3 SR-3
Cary Academy
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
int bowl[14];
int i;
int cur;
char *outb;
int outi;
int curr;
void movea(int
loc, int num) {
if (num == 0) {
if (bowl[loc] == 0 || bowl[loc] == 1 ||
bowl[loc] == 4)
return;
curr = bowl[loc];
bowl[loc] = 0;
movea(loc, curr);
return;
}
if (loc == 5) {
bowl[12]++;
num--;
}
if (num == 0) {
return;
}
loc++;
if (loc > 11)
loc = 0;
bowl[loc]++;
movea(loc, num - 1);
return;
}
void moveb(int
loc, int num) {
if (num == 0) {
if (bowl[loc] == 0 || bowl[loc] == 1 ||
bowl[loc] == 4)
return;
curr = bowl[loc];
bowl[loc] = 0;
moveb(loc, curr);
return;
}
if (loc == 11) {
bowl[13]++;
num--;
}
if (num == 0) {
return;
}
loc++;
if (loc > 11)
loc = 0;
bowl[loc]++;
moveb(loc, num - 1);
}
int parse(char
outb[]) {
if (strcmp(outb, "A") == 0)
return 12;
if (strcmp(outb, "B") == 0)
return 13;
if (strcmp(outb, "1") == 0)
return 0;
if (strcmp(outb, "2") == 0)
return 1;
if (strcmp(outb, "3") == 0)
return 2;
if (strcmp(outb, "4") == 0)
return 3;
if (strcmp(outb, "5") == 0)
return 4;
if (strcmp(outb, "6") == 0)
return 5;
if (strcmp(outb, "7") == 0)
return 6;
if (strcmp(outb, "8") == 0)
return 7;
if (strcmp(outb, "9") == 0)
return 8;
if (strcmp(outb, "10") == 0)
return 9;
if (strcmp(outb, "11") == 0)
return 10;
if (strcmp(outb, "12") == 0)
return 11;
return 0;
}
int main(int
argc, char** argv) {
int curr2;
char s[10];
char waste;
outb = malloc(sizeof (char) *50);
FILE *fin = fopen("mancala.in",
"r");
for (i = 0; i < 12; i++) {
bowl[i] = 4;
}
fscanf(fin, "%d", &cur);
fscanf(fin, "%s", s);
cur--;
outi = parse(s);
curr2 = bowl[cur];
bowl[cur] = 0;
movea(cur, curr2);
printf("%d\n", bowl[outi]);
fscanf(fin, "%d", &cur);
fscanf(fin, "%s", s);
cur--;
outi = parse(s);
curr2 = bowl[cur];
bowl[cur] = 0;
moveb(cur, curr2);
printf("%d\n", bowl[outi]);
fscanf(fin, "%d", &cur);
fscanf(fin, "%s", s);
cur--;
outi = parse(s);
curr2 = bowl[cur];
bowl[cur] = 0;
movea(cur, curr2);
printf("%d\n", bowl[outi]);
fscanf(fin, "%d", &cur);
fscanf(fin, "%s", s);
cur--;
outi = parse(s);
curr2 = bowl[cur];
bowl[cur] = 0;
moveb(cur, curr2);
printf("%d\n", bowl[outi]);
fscanf(fin, "%d", &cur);
fscanf(fin, "%s", s);
cur--;
outi = parse(s);
curr2 = bowl[cur];
bowl[cur] = 0;
movea(cur, curr2);
printf("%d\n", bowl[outi]);
return (EXIT_SUCCESS);
}