【题目描述】

数字三角形
要求走到最后mod 100最大

【输入格式】

第1行n,表示n行 <=25
第2到n+1行为每个的权值

【输出格式】

mod 100最大值

【分析】

设置状态f[i][j][k]表示(i,j)各自内是否mod 100可以为k。

状态转移方程:

f[i][j][k]=f[i+1][j][k+a[i+1][j]mod 100]  || f[i+1][j+1][k+a[i+1][j+1]mod 100]

一开始把f[1][1][a[1][1]]设置为true

【代码】

 1 var
 2   f:array[0..25,0..25,0..99]of boolean;
 3   a:array[0..25,0..25] of longint;
 4   n,i,j,k:longint;
 5 function max(n,m:longint):longint;
 6   begin
 7     if n>m then exit(n) else exit(m);
 8   end;
 9 begin
10   fillchar(f,sizeof(f),false);
11   readln(n);
12   for i:=1 to n do
13     for j:=1 to i do read(a[i][j]);
14   f[1][1][a[1][1]mod 100]:=true;
15   for i:=2 to n do
16     for j:=1 to i do
17       for k:=0 to 99 do
18       begin
19         if f[i-1][j][k] then f[i][j][(k+a[i][j])mod 100]:=true;
20         if f[i-1][j-1][k] then f[i][j][(k+a[i][j])mod 100]:=true;
21       end;
22   for i:=99 downto 0 do
23     for j:=1 to n do
24       if f[n][j][i] then
25       begin
26         writeln(i);
27         halt;
28       end;
29 end.

转载于:https://www.cnblogs.com/Dawn-Star/p/9253975.html

【动态规划】数字三角形2相关推荐

  1. 算法设计与分析——动态规划——数字三角形问题

    数字三角形问题 1.题目描述:给定一个由n行数字组成的数字三角形,如图3-7所示.设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大. 算法设计:对于给定的由n行数字组成的数字 ...

  2. 七:动态规划-数字三角形

    问题: 数字三角形   问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1&l ...

  3. 动态规划-数字三角形问题

    有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数. 1 3 2 4 10 1 4 3 2 20 从第一行的数开始,每次可以往左下或右下走一格,直到走到最下 ...

  4. 动态规划——数字三角形C语言

    一:分析 先说一下相关动态规划的一些概念,参考下方博文. 原文链接:https://blog.csdn.net/every__day/article/details/88174082 "一个 ...

  5. [AcWing] 1018. 最低通行费(C++实现)数字三角形模型

    [AcWing] 1018. 最低通行费(C++实现)数字三角形模型 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 ...

  6. C++数字三角形问题(动态规划)

    一.问题描述 ★问题描述:给字一个由n行数字组成的数字三角形(等腰三角形).试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大. ★算法设计:对于给定的由n行数字组成的数字三 ...

  7. 数字三角形 计算最大路径 动态规划

    以所经过的权值之和最大值为例进行说明. 行进的过程中,每次只有两种选择:向左或向右.一个有n层的数字三角形的完整路径有2n条,所以当n比较大的时候,搜索全部路径,从中找出最大值,效率较低. 采用动态规 ...

  8. python--lintcode109.数字三角形(动态规划)

    描述 给定一个数字三角形,找到从顶部到底部的最小路径和.每一步可以移动到下面一行的相邻数字上. 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数. 您在真实的面试中 ...

  9. 【算法】【动态规划篇】第3节:数字三角形问题

    本期任务:介绍算法中关于动态规划思想的几个经典问题 [算法][动态规划篇]第1节:0-1背包问题 [算法][动态规划篇]第2节:数字矩阵问题 [算法][动态规划篇]第3节:数字三角形问题 [算法][动 ...

  10. 经典算法——数字三角形的三种解题方法:递推、记忆化搜索、动态规划

    上题目链接: http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1730.html  递推方法: i ...

最新文章

  1. 【第41题】【062题库】2019年OCP认证062考试新题
  2. 插入排序之Java实现
  3. SFB 项目经验-02-共存迁移-Lync 2013-TO-SFB 2015-规划02
  4. 【ArcGIS风暴】ArcGIS10.6获取栅格影像边界范围的三种方法案例详解
  5. “预习-上课-复习”:达摩院类人学习新范式探索
  6. uniapp防抖操作
  7. 撞库***:一场需要用户参与的持久战
  8. 转载:CSDN mvc ef 的简单增删改查操作
  9. Ext4,Ext3的特点和区别
  10. 百度视频播放器android,百度视频播放器
  11. 计算机导论中如何求模,计算机导论作业答案
  12. SAP FICO财务模块FI财务CO成本视频教学教程(基础+进阶+高级篇)
  13. python课程设计爬虫篇_11 个案例开启 Python 爬虫初体验
  14. android BKS
  15. 模具人看过来!!10大影响注塑模具质量的因素
  16. 分享【珠海】联想 IBM X3850 X6服务器维修真实案例
  17. 飞行棋程序(附源码)
  18. HDLBites学习笔记之Error (10200): Verilog HDL Conditional Statement error at top_module
  19. MySQL数据库基础(1)数据库基础
  20. Reduce-Rank Regression通俗解释及与其他降维方法的关系

热门文章

  1. idea配置Maven的本地仓库(打开新的项目时自动更新本地仓库的位置)
  2. 怎么避免options请求_和上级沟通的正确打开方式:3种技巧,轻松让领导答应你的请求...
  3. 深度学习pytorch--多层感知机(一)
  4. 大工17秋《计算机文化基础》在线测试1,大工17秋《组织行为学》在线测试1答案...
  5. 百分比单位始终根据父元素相应值来计算_CSS Viewport 单位,很多人还不知道使用它来快速布局!...
  6. 【五】每个球队胜率统计
  7. 文件服务器缓存加速,存储缓存为文件传输提速
  8. 微信小程序销毁某一注册函数_微信小程序云开发API 删除一条记录
  9. python 线程锁_python多线程编程(3): 使用互斥锁同步线程
  10. 朗读评价语言集锦_英语老师批改作业时的精彩评语集锦,超实用!