首页 分享 香蕉采摘问题的算法解析

香蕉采摘问题的算法解析

来源:花匠小妙招 时间:2025-01-01 06:00

香蕉采摘

最新推荐文章于 2021-04-05 14:17:31 发布

ら浅安时光ゝ 于 2020-04-16 11:41:14 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

题目:香蕉采摘(一听就有种花生采摘的感觉,但是,不是[奸笑])
小明有一只宠物猴,名叫小圣。这天,他们正沿着乡间小路散步,突然发现了一片香蕉林,小明和小圣都非常的高兴,因为他们最爱香蕉。香蕉树整齐的排列着,形成了一个R行C列的网格,网格的每个格子里面有一棵香蕉树,小明一眼就能看出每棵树上有多少个香蕉,为了训练小圣的数学,小明吩咐小圣去采摘香蕉并要求它:
你从第一行第一列出发,也是就是(1,1)的位置开始,每次往上下左右四个方向去找相邻的一棵树,这个树要是没有被采摘过的而且这棵树上的香蕉要是这四个方向中数量最多的(保证每次只能找到唯一一棵这样的树),然后进行采摘。按照这样的方法,最终小圣总是会在(R,C)处停止然后采摘掉那里的香蕉。
现在给定网格的大小,以及每个格子里香蕉的数量,请你计算一下最终小圣一共采摘了多少香蕉。(又是考试题[汗])
输入格式
第一行 两个整数R C,分别表示香蕉林网格的总行数和总列数,1≤R≤40,1≤C≤40
接下来R行,每行C个整数,分别表示网络中每个格子里的一棵香蕉树上香蕉的个数,每棵香蕉树上香蕉的个数是1到100之间的整数
输出格式
一个整数,表示猴子小圣按照小科吩咐的移动方法最终到达(R,C)处一共采摘的香蕉的总数
输入输出样列
输入样例1:
3 4
3 3 4 5
4 5 3 2
1 7 4 2
输出样例1:
39
分析一下数据:
3 4
3 3 4 5
4 5 3 2
1 7 4 2
在这里插入图片描述
思路:从(1,1)的位置开始,每次都相当前各自的上、下、左、右四个方向去遍历找到最大的一个数。
上: (x,y-1) 下: (x,y+1) 左: (x-1,y) 右: (x+1,y)
什么时候到达终点?
X=R && Y=C时达到终点,也就是X!=R|| Y!=C时 循环执行。(如果打两个等号会被标黄,你们注意一下哈!)
注意每采摘完一棵树,要把数量清零,避免被重复采摘。
定义.上下左右四个方向
dir[1]表示向右
dir[1][0]=1表示横向增加1
dir[1][1]=0表示纵向增加0
dir[2]表示向左
dir[2][0]=-1表示横向减少1
dir[2][1]=0表示纵向增加0
dir[3]表示向下
dir[3][0]=0表示横向增加0
dir[3][1]=1表示纵向增加1
dir[4]表示向上
dir[4][0]=0表示横向增加0
dir[4][1]=-1表示纵向减少1

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

相关知识

算法复杂度解析与实例
红香蕉的成熟过程(了解红香蕉的成熟标准和采摘技巧)
香蕉树是草本植物还是木本植物 蚂蚁庄园香蕉树6.30
揭秘香蕉的生长周期(从发芽到采摘,一个生命周期的全过程)
求解物流配送问题的混合粒子群算法
蓝莓上市季节解析(成熟期、采摘时间、营养价值全面解析)
K近邻算法和鸢尾花问题
算法设计题解析
梦见香蕉
香蕉生长的环境条件及特点(探究香蕉的生长环境和特点)

网址: 香蕉采摘问题的算法解析 https://www.huajiangbk.com/newsview1392792.html

所属分类:花卉
上一篇: 香蕉最好的储存方法 摘香蕉最好的
下一篇: 香蕉采摘时间和收获季节

推荐分享