欢迎光临
我们一直在努力

题解:学而思编程 网格路径

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

网格路径

【题目描述】

从一个

2

×

2

2×2

2×2 网格的左上角出发,若只允许向右或向下移动,则恰好有

6

6

6 条抵达右下角的路径。

在这里插入图片描述

对于

20

×

20

20×20

20×20 网格,这样的路径有多少条?

【输入】

无

【输出】

一个正整数,表示题意中要求的路径条数。

【算法标签】

#数学

【代码详解】

#include <bits/stdc++.h>
using namespace std;

long long f[50][50]; // 动态规划数组,f[i][j]表示从(1,1)到(i,j)的路径数

int main()
{
f[1][1] = 1; // 起点(1,1)到自身的路径数为1

// 动态规划计算
for (int i = 1; i <= 21; i++) // 行
{
for (int j = 1; j <= 21; j++) // 列
{
// 状态转移:只能向右或向下移动
f[i][j] += f[i – 1][j] + f[i][j – 1];
}
}

cout << f[21][21] << endl; // 输出从(1,1)到(21,21)的路径数

return 0; // 程序正常结束
}

【运行结果】

137846528820

赞(0)
未经允许不得转载:171主机测评 » 题解:学而思编程 网格路径
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址