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")

代码不够简洁,仅仅能跑,多指教!!!

你可能感兴趣的:(python)