蓝桥杯考前每日练习1(第三题-灌溉)

(第一次写题解,可能语言表达不是很到位,多谅解)

题解纯个人思路 可供理解

灌溉这一题 用python解法可以直接用二维数组 去解决,先输入n,m(我图中写的n,m)。循环建出一个n行m列的全部数值为0二维数组,然后再 输入t代表水管数量(这个运用于接下来的循环),然后用for循环 键盘输入t次r,c 找到水管的位置,并把二维数组中 对应位置的数值变成1.输入完水管位置后再输入灌溉的时间。

设置两个一样的二维数组 第一个计为出水口,另一个即存放灌溉到的位置。

(如图)

 

第二部分就是 从你输入的水管位置开始向四周(即上下左右)扩散灌溉,其实很容易理解

就是根据时间t的去循环把水管灌溉的位置变成1(即水管位置上下左右对应的二维数组中的值变成1).

注意:这里有边界 即你设置的n,m ,循环(即灌溉开始)中要注意超过边界的位置,所以要加入条件(小于n,m,即我图中的x,y)

出水口数组中的数据变化同时根据出水口数据的变化将灌溉到的地方位置数值也变为1.

(如图)

 

设一个sum用来计二维数组中数值为1出现的次数(即t分钟后 可以灌溉到区域)

循环二维数组,每遇到一个数值为1,即sum+=1.

最后输出sum 即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值