蓝桥杯真题训练14

蓝桥杯真题训练

1-猴子分香蕉

5 只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。

第 1 只猴子醒来,把香蕉均分成 5 堆,还剩下 1 个,就吃掉并把自己的一份藏起来继续睡觉。

第 2 只猴子醒来,把香蕉均分成 5堆,还剩下 2个,就吃掉并把自己的一份藏起来继续睡觉。

第 3 只猴子醒来,把香蕉均分成 5堆,还剩下 3个,就吃掉并把自己的一份藏起来继续睡觉。

第 4 只猴子醒来,把香蕉均分成 5堆,还剩下 4个,就吃掉并把自己的一份藏起来继续睡觉。

第 5 猴子醒来,重新把香蕉均分成 5 堆,哈哈,正好不剩!

请计算一开始最少有多少个香蕉。


for i in range(1,500):
    k = 4
    sum = i*5
    while k>0:
        if sum% 4 ==0:
            sum = int(sum/4)*5+k
            k = k - 1
        else:
            break
    if k == 0 :
        print(sum)

解题思路:这种猴子分水果的问题都是入门级问题了,就是从后往前累加就好,主要是注意分完之后有没有把剩的吃掉,如果没把剩的吃掉位3121.吃掉了为3141。

2-灌溉

小蓝负责花园的灌溉工作。

花园可以看成一个 nn 行 mm 列的方格图形。中间有一部分位置上安装有出水管。

小蓝可以控制一个按钮同时打开所有的出水管,打开时,有出水管的位置可以被认为已经灌溉好。

每经过一分钟,水就会向四面扩展一个方格,被扩展到的方格可以被认为已经灌溉好。即如果前一分钟某一个方格被灌溉好,则下一分钟它上下左右的四个方格也被灌溉好。

给定花园水管的位置,请问 kk 分钟后,有多少个方格被灌溉好?

n, m = map(int,input().split(" "))
a = [[0 for i in range(m)] for i in range(n) ]
t = int(input())
d = []
for i in range(t):
    b,c = map(int,input().split(" "))
    a[b-1][c-1] = 1
    d.append(b-1)
    d.append(c-1)
k = int(input())
while k > 0:
    k = k - 1
    p = len(d)
    for l in range(0,p,2):
        if d[l] + 1 <n :
            a[d[l]+1][d[l+1]] = 1
            d.append(d[l]+1)
            d.append(d[l+1])
        if d[l+1] + 1 < m:
            a[d[l]][d[l+1]+1] = 1
            d.append(d[l])
            d.append(d[l+1]+1)
        if d[l]-1>=0 :
            a[d[l]-1][d[l+1]] = 1
            d.append(d[l]-1)
            d.append(d[l+1])
        if d[l+1] -1 >= 0:
            a[d[l]][d[l+1]-1] = 1
            d.append(d[l])
            d.append(d[l+1]-1)
sum = 0
for i in range(n):
    for j in range(m):
        sum = sum + a[i][j]
print(sum)

解题思路:这题没什么坑,暴力算出就可,看代码就懂。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值