P2006 赵神牛的游戏 python解法

这篇具有很好参考价值的文章主要介绍了P2006 赵神牛的游戏 python解法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

赵神牛的游戏

题目描述

在 DNF 中,赵神牛有一个缔造者,他一共有 k k k 点法力值,一共有 m m m 个技能,每个技能耗费的法力值为 a i a_i ai,可以造成的伤害为 b i b_i bi,而 boss 的体力值为 n n n,请你求出它放哪个技能,才可以打死 boss。

当然,赵神牛技术很菜,他一局只放一个技能,不过每个技能都可以放无数次。

输入格式

第一行有三个整数,分别表示 k , m , n k,m,n k,m,n

后面 m m m 行,每行两个整数,第 ( i + 1 ) (i + 1) (i+1) 行的整数表示耗费的法力值 a i a_i ai 和造成的伤害 b i b_i bi

输出格式

输出仅一行,即可以杀死 boss 的技能序号,如果有多个,按从小到大的顺序输出,中间用一个空格隔开;如果没有技能能杀死 boss,输出 -1

样例 #1

样例输入 #1

100 3 5000
20 1000
90 1
110 10000

样例输出 #1

1

样例 #2

样例输入 #2

50 4 10
60 100
70 1000
80 1000
90 0

样例输出 #2

-1

提示

数据规模与约定

对于全部的测试点,满足:

  • 0 ≤ n , m , k ≤ 3 × 1 0 4 0\le n,m,k\le 3\times 10^4 0n,m,k3×104,
  • 0 ≤ a i , b i ≤ 2147483647 0 \leq a_i,b_i\le 2147483647 0ai,bi2147483647

解法

k,m,n = input().split( )
k = eval(k)
m = eval(m)
n = eval(n)
result = []
for i in range(m):
    a,b = input().split( )
    a = eval(a)
    b = eval(b)
    if a != 0 and b>=0:
        if k//a * b >= n:
            result.append(i+1)
    if a == 0 and b>=0:
        result.append(i + 1)

lens = len(result)
if lens != 0:
    for i in range(lens):
        print(result[i], "", end="")

else:
    print("-1")

代码不够简洁,仅仅能跑,多指教!!!文章来源地址https://www.toymoban.com/news/detail-737504.html

到了这里,关于P2006 赵神牛的游戏 python解法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 算法基础篇:背包问题的动态规划解法

    背包问题是计算机科学中一个重要的组合优化问题,动态规划是解决该问题的高效算法技术。本篇博客将重点介绍背包问题的动态规划解法,包括状

    2024年02月16日
    浏览(39)
  • 数字三角形-蓝桥杯真题动态规划PYTHON解法

    目录 题目描述  解题思路 DP初始化 DP最终条件 DP初始条件 题目限制条件 总代码 首先映入我们眼帘的就是一个三角形,加求路径和最大,类似于找最短路径的题,很明显是一个二维数组的动态规划问题,对于动态规划问题我们只需要找好最终条件,初始条件(也就是特殊条件

    2024年02月09日
    浏览(37)
  • leetcode:412. Fizz Buzz(python3解法)

    给你一个整数  n  ,找出从  1  到  n  各个整数的 Fizz Buzz 表示,并用字符串数组  answer ( 下标从 1 开始 )返回结果,其中: answer[i] == \\\"FizzBuzz\\\"  如果  i  同时是  3  和  5  的倍数。 answer[i] == \\\"Fizz\\\"  如果  i  是  3  的倍数。 answer[i] == \\\"Buzz\\\"  如果  i  是  5  的倍数。

    2024年02月02日
    浏览(37)
  • 【python】求最长连续公共子序列长度的几种解法

      给定两个序列X和Y,返回最长连续的公共子序列长度。如果没有连续公共子序列,返回0. X和Y的元素都是整数。 示例: 输入: 1 5 7 3 4 5 7 3 4 4 5 7 -2 输出: 3  说明: 最长的连续公共子序列是[7,3,4] (X[2:4] 和Y[0:2]) 这道题在【leetcode1143】的基础上增加了公共子序列连续的限制。

    2024年02月10日
    浏览(46)
  • 接一元二次方程的几种解法,用python代码实现

    一元二次方程的解法有以下几种:公式法、因式分解法、配方法、求根公式法。 下面是使用Python代码实现一元二次方程的解法: ```python import math def solve_quadratic_equation(a, b, c):     delta = b**2 - 4*a*c     if delta 0:         return \\\"无实根\\\"     elif delta == 0:         x = -b / (2*a)    

    2024年02月07日
    浏览(46)
  • leetcode:LCR 159. 库存管理 III(python3解法)

    仓库管理员以数组  stock  形式记录商品库存表,其中  stock[i]  表示对应商品库存余量。请返回库存余量最少的  cnt  个商品余量,返回  顺序不限 。 示例 1: 示例 2: 提示: 0 = cnt = stock.length = 10000 0 = stock[i] = 10000

    2024年02月02日
    浏览(41)
  • leetcode:2011. 执行操作后的变量值(python3解法)

    存在一种仅支持 4 种操作和 1 个变量  X  的编程语言: ++X  和  X++  使变量  X  的值  加   1 --X  和  X--  使变量  X  的值  减   1 最初, X  的值是  0 给你一个字符串数组  operations  ,这是由操作组成的一个列表,返回执行所有操作后,   X  的  最终值  。 示例 1:

    2024年02月11日
    浏览(40)
  • Python小白的数学建模课-11.偏微分方程数值解法

    偏微分方程可以描述各种自然和工程现象, 是构建科学、工程学和其他领域的数学模型主要手段。 偏微分方程主要有三类:椭圆方程,抛物方程和双曲方程。 本文采用有限差分法求解偏微分方程,通过案例讲解一维平流方程、一维热传导方程、二维双曲方程、二维抛物方程

    2024年02月14日
    浏览(101)
  • SPEC2006学习使用

    spec 2006学习记录 1. 安装依赖包: 2.解压缩speccpu2006测试工具包,并附执行权限: 3.编辑 tools/src/buildtools 文件,将311行注释,并添加一行export PERLFLAGS=\\\"-A libs=-lm -A libs=-ldl\\\" 4.修改tools/src/make-3.8.0/glob/glob.c文件, 在209行“#if !defined __alloca !defined GNU_LIBRARY”和230行“#endif”前添加“

    2024年02月06日
    浏览(31)
  • Go-Python-Java-C-LeetCode高分解法-第八周合集

    本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接:LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏,每日一题,和博主一起进步 LeetCode专栏 我搜集到了50道精选题,适合速成概览大部分常用算法 突破算法迷宫:精选50道-算法刷题指南 本文部分内容来自网上

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包