#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;
}