#include <stdio.h>
int paths(int x, int y) {
if (x == 0 && y == 0) {
return 0;
}
else if (x == 0 || y == 0) {
return 1;
}
return paths(x - 1, y) + paths(x, y - 1);
}
int main(void) {
int x, y;
printf("(0,0)から(%d,%d)までの最短経路数は %d です。\n", x
, y
, paths
(x
, y
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgcGF0aHMoaW50IHgsIGludCB5KSB7CiAgICBpZiAoeCA9PSAwICYmIHkgPT0gMCkgewogICAgCXJldHVybiAwOwogICAgfQogICAgZWxzZSBpZiAoeCA9PSAwIHx8IHkgPT0gMCkgewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgCiAgICByZXR1cm4gcGF0aHMoeCAtIDEsIHkpICsgcGF0aHMoeCwgeSAtIDEpOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgeCwgeTsKICAgIAogICAgc2NhbmYoIiVkIiwgJngpOwogICAgc2NhbmYoIiVkIiwgJnkpOwogICAgCiAgICBwcmludGYoIigwLDAp44GL44KJKCVkLCVkKeOBvuOBp+OBruacgOefree1jOi3r+aVsOOBryAlZCDjgafjgZnjgIJcbiIsIHgsIHksIHBhdGhzKHgsIHkpKTsKICAgIAogICAgcmV0dXJuIDA7Cn0=