]> mj.ucw.cz Git - misc.git/blob - chocolate.c
Merge branch 'master' of git+ssh://git.ucw.cz/home/mj/GIT/misc
[misc.git] / chocolate.c
1 #include <stdio.h>
2 #include <string.h>
3
4 #define MAX 100
5 #define MAXT 128
6
7 int main(void)
8 {
9         int nim[MAX+1][MAX+1];
10         int f[MAXT+1];
11         for (int i=1; i<=MAX; i++) {
12                 for (int j=1; j<=MAX; j++) {
13                         bzero(f, sizeof(f));
14                         for (int k=1; k<i; k++)
15                                 if ((k != 1 && i-k != 1) || j != 1)
16                                         f[nim[k][j] ^ nim[i-k][j]] = 1;
17                         for (int k=1; k<j; k++)
18                                 if (i != 1 || (k != 1 && j-k != 1))
19                                         f[nim[i][k] ^ nim[i][j-k]] = 1;
20                         int z = 0;
21                         while (f[z])
22                                 z++;
23                         nim[i][j] = z;
24                         //printf("%d %d -> %d\n", i, j, z);
25                         printf("%d", z);
26                 }
27                 putchar('\n');
28         }
29         return 0;
30 }