现在有一个 m * n 的整数矩阵,请你编写一个程序计算出一条从左到右穿过矩阵的路径,并使此路径的费用最小。路径从矩阵的左侧的第一列的任意单元格开始,逐步穿过矩阵到达最右侧的一列的任意单元格。每一步是指从某单元格进入它一列的相邻单元格(如下图,可以是横向或斜向)。矩阵的第一行和最后一行实际是相邻的,你可以想象矩阵是包裹在一个横放的圆柱体外面。
路径的花费是指这条路径所穿越的所有单元格中的数字之和。
穿越两个略有不同的 5 * 6 的矩阵的路径如下图所示,这两个矩阵只有最后一行的数字不同。右侧的路径显示了第一行和最后一行相邻的效果。
输入
输入包括一系列矩阵描述。每个矩阵描述的第一行是 m 和 n,即矩阵的行数和列数;之后的 m 行,每行包括 n 个以空格分开的整数,则是当前矩阵的值,注意矩阵的值未必是正数。
矩阵的行数 m 和列数 n 的范围是:1 <= m <= 10、 1 <= n <= 100;所有路径的费用值都可以用 30bit 的整数表示。
输出
针对每一个矩阵,找出费用最小的路径,并将其输出。每个矩阵的输出包括两行,第一行是路径本身,即输出每一步所在的行,第二行则是该路径的费用。
如果对于同一个矩阵有多条不同的费用最小路径,则输出左端行号较小的一条。
来源
UVa: 116
测试输入
期待的输出
时间限制
内存限制
额外进程
测试用例 1
以文本方式显示
-
56↵
-
341286↵
-
618274↵
-
593995↵
-
841326↵
-
372864↵
-
56↵
-
341286↵
-
618274↵
-
593995↵
-
841326↵
-
372123↵
|
以文本方式显示
|
1秒
|
1024KB
|
0
|
递归的解法:
然而,这并不是一个很好的解法,当矩阵列数超过10时会超过时间限制!
非递归解法:(采用动态规划)
分享到:
相关推荐
在ACM(国际大学生程序设计竞赛)中,矩阵运算是一种常见的数学工具,特别是在解决线性代数问题时。本文将详细解析标题为“矩阵 ACM竞赛模版”的代码,包括矩阵乘法、矩阵求逆和行列式计算等核心知识点。 首先,...
在计算机科学领域,特别是在算法竞赛(ACM,全称Association for Computing Machinery的国际大学生程序设计竞赛)中,矩阵乘法是一项基础且重要的知识点。矩阵是二维数组,而矩阵乘法则是数学运算的一种形式,它在...
矩阵快速幂的模板,需要自己根据实际题目更改矩阵大小和数据类型,以免WA和TLE。经过矩阵乘法上的稀疏矩阵优化和int64的乘法取模幂优化,效率应该比较高。视情况使用mult()函数或直接使用乘法。代码中每个函数有注释...
在计算机科学领域,特别是算法竞赛(ACM,全称国际大学生程序设计竞赛)中,解决特定问题的高效算法是至关重要的。本主题涉及到三个主要的算法:蛇形矩阵、找数字对以及最小自然数。接下来,我们将逐一深入探讨这三...
动态规划,矩阵连乘,ACM动态规划,矩阵连乘,ACM动态规划,矩阵连乘,ACM动态规划,矩阵连乘,ACM
ACM必会-杨氏矩阵题解分析.zip 是一个压缩文件,包含了关于杨氏矩阵问题的详细题解和代码实现。该资源旨在帮助参加ACM竞赛的选手更好地理解杨氏矩阵问题,并提供相应的解决方案和代码示例。 内容概要: 该压缩文件...
在信息学竞赛,如ACM(国际大学生程序设计竞赛)、NOI(全国青少年信息学奥林匹克竞赛)和NOIP(全国青少年信息学奥林匹克联赛)中,矩阵乘法是一种强大的工具,常用于解决复杂的问题。矩阵理论在算法设计和数据处理...
5. **数学基础**:包括数论、组合数学、递推关系、矩阵快速幂等,这些都是解决复杂算法问题的关键。 6. **字符串处理**:KMP算法、Manacher's Algorithm、后缀自动机等用于字符串匹配,Z函数、Rabin-Karp滚动哈希...
ACM PRO ACM PROACM PRO ACM PROACM PRO ACM PRO
- `acm.util`: 可能包含各种数学工具函数,如大整数操作、矩阵运算、线性代数、组合数学等,这些工具可以加速算法的实现,尤其是对于处理复杂计算问题。 4. **数据结构**: - `acm.datastructure`: 可能包含了...
### ACM程序设计基础知识点 #### 一、ACM竞赛概览 - **组织机构与活动**: 本课程由东北林业大学陈宇老师负责,通过邮箱Lg_chenyu@yahoo.com.cn进行联系。课程的主要目的是介绍ACM程序设计的基础概念及入门技巧。 - ...
ACM(Association for Computing Machinery)程序设计大赛是全球范围内一项极具影响力和权威性的大学生编程竞赛,由美国计算机协会(ACM)主办。国际大学生程序设计竞赛(ICPC,International Collegiate ...
【标题】"acm试题答案acm" 涉及的主要知识点是ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC或ACM/ICPC)的解题策略与技巧,以及如何寻找和理解比赛题目答案。ACM是一项...
标题中的"CDC-ACM.rar_CDC-ACM_V2 _cdc acm"指的是一个针对Linux操作系统的USB抽象控制模型(CDC-ACM)驱动程序的更新版本V2.13.6。这个驱动程序专门用于支持USB调制解调器和ISDN适配器,使得这些设备能够在Linux...
在ACM/ICPC竞赛中,最大矩阵乘积问题可能是指给定一个矩阵,寻找其中两个非交集子矩阵,使得它们的乘积最大。这可能需要运用动态规划或贪心策略来解决,通过对矩阵的行和列进行排序,逐步选择最优的子矩阵组合。 ...
【标题】"ACM.rar" 是一个压缩文件,其中包含了与 ACM(国际大学生程序设计竞赛,简称ACM)相关的学习资料。"ACM_ACM Hwang .p" 暗示了这个压缩包可能包含由 ACM 专家 Hwang 教授的一些教程或讲义,这些材料通常对...
2. **数据结构**:链表、数组、栈、队列、堆、树(二叉树、平衡树如AVL和红黑树)、图(邻接矩阵、邻接表等)以及跳跃表等。 3. **图论**:深度优先搜索(DFS)、广度优先搜索(BFS)、最短路径算法(Dijkstra、...
【ACM简介与竞赛概述】 ACM,全称Association for Computing Machinery,是计算机科学领域最历史悠久、最具权威的国际组织,成立于计算机技术诞生后的第二年。它的主要目标是推动计算机科学的发展,促进学术交流和...
"acmacm经典题库"是一个专门为ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)参赛者准备的学习资源集合。ACM竞赛是全球范围内影响力极大的编程比赛,旨在提升大学生的算法设计、问题...
在IT领域,ACM(Abstract Control Module)串口驱动是一种重要的接口技术,它允许通过USB(Universal Serial Bus)连接来模拟传统的串行通信接口。在本文中,我们将深入探讨高通和MTK平台上的ACM串口驱动以及如何...