当前位置: 首页 > article >正文

【python练习】在棋盘上收集奖品,跟着书本理思路

在棋盘上收集奖品


Description

在棋盘上收集奖品。假设有一个m x n的棋盘,每个格子里有一个奖品(每个奖品的价值在10到1000之间),现在要求从左上角开始到右下角结束,每次只能往右或往下走一个格子,所经过的格子里的奖品归自己所有。问最多能收集价值多少的奖品。

图片1.png


Input
第一行:m n(5<=m,n<=14),后面m行,每行n个整数(10,1000之间)。


Output
整数


Sample Input 1 

6 6
364 674 305 122 756 593
178 326 451 678 118 607
692 401 952 898 878 509
348 755 820 828 896 771
532 247 233 480 880 226
240 620 913 797 236 834
Sample Output 1

7389
Source

中学生可以这样学Python,P188例8-20

当m=1 n=3,一行一列时候,print(f(qipan,0,2))
a=0 不符合if条件,返回f(qipan,-1,2)和f(qipan,0,1)的最大值+qipan[0][2]
f(qipan,-1,2) 符合if条件,返回0,肯定比f(qipan,0,1)小
现在是f(qipan,0,1)+qipan[0][2]
f(qipan,0,1)不符合if条件,返回f(qipan,-1,1)和f(qipan,0,0)的最大值+qipan[0][1]
f(qipan,-1,1)符合if条件,返回0,肯定比f(qipan,0,0)小
现在是f(qipan,0,0)+qipan[0][1]
f(qipan,0,0)不符合if条件,返回f(qipan,-1,0)和f(qipan,0,-1)的最大值+qipan[0][0]
f(qipan,-1,0)和f(qipan,0,-1)符合if条件,返回0
结论:一行三列就是0+qipan[0][0]+qipan[0][1]+qipan[0][2]

m,n=map(int,input().split())
qipan=[]
for i in range(m):
    line=list(map(int,input().split()))
    qipan.append(line)
#print(qipan)

def f(qipan,a,b):
    if a<0 or b<0:
        return 0
    else:
        return max(f(qipan,a-1,b),f(qipan,a,b-1))+qipan[a][b]
print(f(qipan,m-1,n-1))


http://www.kler.cn/a/108123.html

相关文章:

  • LeetCode -Hot100 - 53. 最大子数组和
  • Matplotlib 直方图:数据可视化基础
  • Openwrt @ rk3568平台 固件编译实践(二)- ledeWRT版本
  • 【杂谈】-50+个生成式人工智能面试问题(一)
  • STM32Flash读写BUG,坑—————4字对齐
  • C# 实现 gRPC 进程间通讯:两台设备的数据交换之道
  • 2-Java进阶知识总结-6-多线程
  • shell脚本的编写(输入、输出、变量、数组等的使用规范及实例)
  • 【鸿蒙软件开发】ArkTS基础组件之TextClock(时间显示文本)、TextPicker(滑动选择文本)
  • 手写RPC框架
  • 网络安全(黑客)—小白自学
  • JavaScript的字符串介绍
  • Python 编写 Flink 应用程序经验记录(Flink1.17.1)
  • LuatOS-SOC接口文档(air780E)--max30102 - 心率模块
  • Geeker-Admin中ProTable表格分页之自定义接口页码、尺寸参数
  • MySQL -- 表的约束
  • Python通过ldap3操作LDAP账号
  • Java零基础入门-位运算符
  • How to install mongodb-7.0 as systemd service with podman
  • JVM面试知识点整理
  • PG数据库基本使用
  • 从Mysql架构看一条查询sql的执行过程
  • use renv with this project create a git repository
  • 分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测
  • 【软件安装环境配置】vscode 安装界面没有出现安装路径的选择 的解决,以及vscode的删除的问题
  • 【算法|动态规划No.32 | 完全背包问题】完全背包模板题