#include <stdio.h> int walk(int x, int y, int xmax, int ymax); int main() { int x, y; int plan; scanf("%d %d", &x, &y); plan = walk(0, 0, x, y); printf("%d", plan); return 0; } int walk(int x, int y, int xmax, int ymax) { int plan = 0; if (x < xmax) { plan += walk(x + 1, y, xmax, ymax); } if (y < ymax) { plan += walk(x, y + 1, xmax, ymax); } if (x = xmax && y == ymax) { return 1; } return plan; }
#include <stdio.h> inline int func(int m, int n) { int map[100][100] = {0}; for (int i = 0; i < n; i++) map[0][i] = 1; for (int i = 1; i < m; i++) map[i][0] = 1; for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { map[i][j] = map[i - 1][j] + map[i][j - 1]; } } return map[m - 1][n - 1]; } int main() { int m = 0, n = 0; scanf("%d %d", &m, &n); printf("%d", func(++m, ++n)); return 0; }
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int tmp = 0,cnt = 0; int rc[2] = {0,0}; while(scanf("%d",&tmp) != EOF) { if(tmp != ' ' && tmp != '\n') { rc[cnt++] = tmp+1; } if(cnt == 2) { int **map = (int *)malloc(rc[0] * sizeof(int*)); for(int i = 0; i < rc[0]; i++) { map[i] = (int *)malloc(rc[1] * sizeof(int)); memset(map[i],0,rc[1]); } for(int j = 0; j < rc[1]; j++) map[0][j] = 1; for(int i = 0; i < rc[0]; i++) map[i][0] = 1; for(int i = 1; i < rc[0]; i++) { for(int j =1; j < rc[1]; j++) { map[i][j] = map[i][j-1] + map[i-1][j]; } } printf("%d\n",map[rc[0]-1][rc[1]-1]); cnt = 0; } } return 0; }
#include<stdio.h> int path(a,b) { if(a==0 || b==0) return 1; else return path(a-1,b)+path(a,b-1); } int main() { int num1,num2; while(scanf("%d %d",&num1,&num2)!=EOF) { printf("%d\n",path(num1,num2)); } return 0; }