【组合数学+动态规划】在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。

简介:

在如下8*6的矩阵中,请计算从A移动到B一共有__种走法。要求每次只能向上或向右移动一格,并且不能经过P。 

A:456 
B:492 
C:568 
D:626 
E:680 
F:702

解析: 
8*6的矩阵,从左下角A到右上角B,一共需要走12步,其中5步向上,7步向右,因此总的走法一共有C(12,5)=792种,但题目规定不能经过P,因此需要减去经过P点的走法。 
经过P的路径分为两部分,从A到P,从P到B。 
同理,从A到P的走法:C(6,2)=15; 
同理,从P到B的走法:C(6,3)=20; 
因此从A到B经过P点的走法有15*20=300种, 
所以从A到B不经过P点的走法有792-300=492种。

这题其实可以用程序算出来 
简单的动态规划 
dp[i][j] = dp[i][j-1] + dp[i-1][j];

代码如下:

复制代码
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <string>
 5 
 6 using namespace std;
 7 int main()
 8 {
 9 
10   int dp[100][100] = {0};
11 
12   for(int i = 1; i <= 6; i++)
13     for(int j = 1; j <= 8; j++)      
14         dp[i][j] = dp[i-1][j] + dp[i][j-1];
15     
16     int dp2[100][100] = {0};
17     dp2[0][1] = 1;
18 
19     for(int i = 1; i <= 4; i++)
20         for(int j = 1; j <= 4; j++)
21             dp2[i][j] = dp2[i-1][j] + dp2[i][j-1];
22 
23     cout<<dp[6][8] - dp2[4][4] * dp[3][5]<<endl;
24 
25   return 0;
26 }
复制代码

 或者如下图:



本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5238769.html,如需转载请自行联系原作者

相关文章
|
存储 设计模式 容器
专题八图形窗口与坐标轴-3
专题八图形窗口与坐标轴
373 0
|
1月前
|
人工智能 安全 小程序
阿里云无影云电脑是什么?最新收费价格个人版、企业版和商业版无影云电脑收费价格
阿里云无影云电脑是运行在云端的虚拟电脑,分企业版和个人版。企业版适用于办公、设计等场景,4核8G配置低至199元/年;个人版适合游戏、娱乐,黄金款14元/月起。支持多端接入,灵活按需使用。
552 164
|
2月前
Edge浏览器禁止更新教程,Edge浏览器还有这操作?新建标签页到处是广告总得解决吧
Edge浏览器近年口碑下滑,广告增多、资源占用高、后台进程顽固等问题频现。本文教你如何关闭新建标签页广告、禁用自动更新及冗余后台进程,并提供小巧实用的禁用工具下载,助你优化浏览体验。
427 0
|
Web App开发 人工智能 API
工具推荐:一款强大的AI翻译插件
工具推荐:一款强大的AI翻译插件
1690 0
工具推荐:一款强大的AI翻译插件
|
5月前
|
监控 算法 安全
抖音电商API短视频挂接,商品曝光量翻倍!
在抖音电商API支持下,商家可通过短视频挂接商品,实现曝光量翻倍。本文详解操作步骤与优化策略,助您高效提升转化与销量。立即掌握短视频营销新技能!
344 0
|
算法 IDE 程序员
快速入门C++17:了解最新的语言特性和功能(上)
快速入门C++17:了解最新的语言特性和功能
快速入门C++17:了解最新的语言特性和功能(上)
|
监控 供应链 搜索推荐
不同行业DTC业务模型的差异化分析
DTC营销模式通过直接面向消费者,整合产业链、打造极致单品、培养超级用户等策略,实现利润快速增长。本文深入探讨DTC的定义、特点、优势、适用场景及实施策略,强调数据驱动和品牌与消费者紧密连接的重要性。
645 14
|
Java 测试技术 数据处理
Java一分钟之-TestNG:高级测试框架
【6月更文挑战第4天】TestNG是Java的高级测试框架,扩展了JUnit,支持数据驱动、参数化、测试分组、依赖和并行测试,提高自动化测试效率。本文介绍了TestNG的核心特性,如`@DataProvider`和`@Parameters`注解,以及常见问题和解决策略,如正确使用测试生命周期方法和处理数据驱动测试中的数据。通过示例展示了如何进行数据驱动测试,帮助读者更好地理解和应用TestNG。
553 0
Java一分钟之-TestNG:高级测试框架
|
IDE Java 应用服务中间件
【SpringMVC】Jrebel 插件实现热部署与文件上传(上)
【SpringMVC】Jrebel 插件实现热部署与文件上传(上)
314 0
|
监控 网络协议 Linux
Linux中的conntrack命令深入解析
在Linux网络管理和监控领域,`conntrack`命令是一个强大的工具,它提供了对netfilter连接跟踪系统的直接访问🔍。这篇文章将深入探讨`conntrack`的由来、底层原理、参数意义,以及其常见用法,并对返回结果的每个字段进行详细解释。