2021/05/06 OJ每日一题 2151: 善良的GG python

2151: 善良的GG:

生活在上古世界亡灵岛的小白就快到亡灵岛上的期末考试了,可是小白却没有任何准备。于是小白只能靠自己的运气来决定自己的生死了,而亡灵岛的其中一个侍者GG十分善良,他决定只要小白有存活的希望就让他活下来。
小白一共有n场考试,分散在n天中,即一天有且仅有一场,只有他当天的运气不小于考试的难度才能够通过考试,而小白只有通过所有的考试才能存活下来,生活如此艰难~~~
现在GG运用自己的通天能力得知了小白在未来的m天中每天的运气值ai,他希望从中取出n天的运气来让小白通过考试,GG取出来的n天的运气可以重新安排次序,来使小白的运气充分使用,但是不能改变某天的运气值的大小。例如有三天的运气按照时间先后依次是100,200,300,GG可以将它调整为这三个数的任意排列顺序。
上帝视角的你看到了这一幕,于是你决定在梦中启示小白的命运。

输入 :

测试数据第一行为测试样例总组数T(1<=T<=50),
每组数据有三行,
第一行为正整数n,m(1<=n,m<=30000)。
第二行为n个整数,用空格隔开,即n天中每场考试的难度。
第三行为m个整数,用空格隔开,即小白m天的运气。

输出 :

对于每组数据,如果小白能够活下来,输出“You are pretty lucky!”;否则输出“Time up!”;

python代码:

def test(lis1,lis2):
	# 利用贪心算法即可解决
	lis1.sort() # n 升序排序
	lis2.sort() # m 升序排序
	try:
		while(len(lis1))>0:
			if lis1[0]<=lis2[0]:
				lis1.pop(0) # 删除第一项
			lis2.pop(0)
		return 'You are pretty lucky!'
	except:
		# 当超出列表索引返回
		return 'Time up!'  

t=int(input()) # 多实例测试
lis=[]
for i in range(t): 
	li=input().split()
	lis1=list(map(int,input().split()))
	lis2=list(map(int,input().split()))
	lis.append([lis1,lis2])
for i in range(t):
	print(test(lis[i][0],lis[i][1]))




在这里插入图片描述
人生苦短,我用python。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃鱼人士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值