#include #include int n, m; unsigned int backtrack(int x, int y, unsigned int sum) { if (x >= n) return sum + 1; if (y >= m) return sum + 1; sum = backtrack(x + 1, y, sum); sum = backtrack(x, y + 1, sum); return sum; } int main(void) { FILE *fp; unsigned int sum; fp = fopen("grid.in", "r"); fscanf(fp, "%d %d\n", &n, &m); while (n || m) { sum = backtrack(0, 0, 0); printf("%u\n", sum); fscanf(fp, "%d %d\n", &n, &m); } exit(0); }