http://projecteuler.net/problem=15
简单dp,话说腾讯12年笔试题,出了题类似这题的
#include <cstdio>
using namespace std;
int main()
{
long long map[21][21];
map[0][0] = 1;
int i,j;
for(i = 0; i < 21; i++)
{
map[0][i] = 1;
}
for(i = 1; i <21; i++)
{
for(j = 0; j < 21; j++)
{
if(j == 0)
{
map[i][j] = map[i - 1][j];
}
else
{
map[i][j] = map[i][j - 1] + map[i - 1][j];
}
}
}
for(i = 0; i < 21; i++)
{
for(j = 0; j < 21; j++)
{
printf("%lld ",map[i][j]);
}
printf("\n");
}
// printf("%d\n",map[20][20]);
return 0;
}
本文介绍了一个使用动态规划解决路径组合问题的C++实现案例。该案例通过构建一个二维数组来记录从起点到任意位置的不同路径数量,最终求解出从左上角到右下角的总路径数。
805

被折叠的 条评论
为什么被折叠?



