从A点向B点移动的所有路径数(只能向下向右移动)如图所示
该算法采用动态规划
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int a[10][10] = { 0 };
int row, col;
printf("请输入B点坐标\n");
scanf("%d%d", &row, &col);
int i, j;
for (i = 1; i <= row; ++i) {
for (j = 1; j <= col; ++j) {
if (i == 1 && j == 1) {
a[i][j] = 1;
}
else {
a[i][j] = a[i - 1][j] + a[i][j - 1];
}
}
}
printf("A到B的路径数为:%d\n", a[row][col]);
system("pause");
return 0;
}
此题目可拓展中间设有柱子阻断路径,只需将柱子位置强制设为0,依然使用此方法
可以试试哦!!!