蓝桥杯python:扩散

题目:在这里插入图片描述
程序说明:
当我看到题目的第一感觉是觉得此题程序会很复杂,可能我真的有点菜,但是仔细观察,题中的黑点扩散只是在上下左右方向,由此可以想到曼哈顿距离(曼哈顿距离也叫出租车距离,用来标明两个点在标准坐标系上的绝对轴距总和,d=|x2-x1| + |y2-y1| )。先定于三个枚举对象i,j,k,i 表示任意点的x值(因为是无限大的画布,由此x轴可以为负数,范围是-2020到4040,y轴同理),j 表示任意点的y值,k表示已知点的x,y的索引,因为题中问2020分钟以后黑点的情况,就是任意两点之间的距离只要小于或等于2020,这个点能够在2020步内走到,那一定能被染黑,由此这里使用了if判断语句,若满足则黑色点的个数加一,为了避免重复,当满足条件时加入一次后便退出循环。
全部代码:

x=[0,2020,11,2000]
y = [0, 11, 14, 2000]
count=0
for i in range(0-2020,2020+2020+1):
    for j in range(0-2020,2000+2020+1):
        for k in range(4):
            if abs(x[k]-i)+abs(y[k]-j) <=2020:
                count+=1
                break
print(count)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值