P1794 求解好多鱼问题

题目描述

牛牛有一个鱼缸,鱼缸里面已经有 n 条鱼,每条鱼的大小为 fishSize[i] (1<i<n, {均为正整数})fishSize[i](1<i<n,均为正整数),牛牛现在想把新捕捉的鱼放人鱼缸。鱼缸里存在着大鱼吃小鱼的 定律。经过观察,牛牛发现一条鱼 A 的大小为另外一条鱼 B 的大小的 2~10 倍(包括 22 倍大小和 10 倍大小)时鱼 A 会吃掉鱼 B。考虑到这个情况,牛牛要放入的鱼需要保证以下几点: (1)放进去的鱼是安全的,不会被其他鱼吃掉。 (2)这条鱼放进去也不能吃掉其他鱼。 (3)鱼缸里面存在的鱼已经相处了很久,不考虑它们互相捕食。 现在知道新放入鱼的大小范围 [minSize,maxSize][minSize,maxSize] (考虑鱼的大小都是用整数表示),牛牛想知道有多少种大小的鱼可以放入这个鱼缸。

输入描述

输入数据包括 3 行, 第 1 行为新放入鱼的尺寸范围 [minSize, maxSize][minSize,maxSize],以空格分隔; 第 2 行为鱼缸里面已经有鱼的数量 n(1≤n); 第 3 行为已经有的鱼的大小fishSize[i](1≤fishSize[i]),以空格分隔。

输出描述

输出有多少种大小的鱼可以放入这个鱼缸,考虑鱼的大小都是用整数表示。

样例输入

Copy to Clipboard
1 12 1 1 

样例输出

Copy to Clipboard
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是一个简单的Python程序,使用Pygame库来创建一个缸画面,让金动态游泳: ```python import pygame import random # 缸尺寸 WIDTH = 800 HEIGHT = 600 # 颜色定义 WHITE = (255, 255, 255) BLUE = (0, 0, 255) # 的类 class Fish(pygame.sprite.Sprite): def __init__(self, x, y): super().__init__() self.image = pygame.image.load('fish.png').convert() # 的图片文件 self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.speed = random.randint(1, 3) def update(self): self.rect.x += self.speed # 如果超出屏幕,则重新回到起点 if self.rect.x > WIDTH: self.rect.x = -self.rect.width # 初始化Pygame pygame.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption('Fish Tank') # 加载的图片 fish_image = pygame.image.load('fish.png').convert() fish_image.set_colorkey(WHITE) # 创建的精灵组 all_sprites = pygame.sprite.Group() # 创建的实例,并加入精灵组 for i in range(4): fish = Fish(random.randint(0, WIDTH), random.randint(0, HEIGHT)) all_sprites.add(fish) # 游戏主循环 running = True clock = pygame.time.Clock() while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 更新的位置 all_sprites.update() # 绘制背景 screen.fill(BLUE) # 绘制 all_sprites.draw(screen) # 刷新屏幕 pygame.display.update() clock.tick(60) # 退出程序 pygame.quit() ``` 请确保将上述代码保存为一个Python文件,并将的图片命名为 `fish.png`,与Python文件放在同一个目录下。运行该程序,你将看到金缸中动态游泳的画面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值