1059. C语言竞赛(20)——Python

测试点1与2运行超时

#判断素数
import math
def isPrime(n):
	if n <= 1:
		return False
	for i in range(2, int(math.sqrt(n)) + 1):
		if n % i == 0:
			return False
	return True

#得到获奖名单	
num_guys = input()	
num_guys = int(num_guys)
guys_list = []
guys_dir = {}
for i in range(num_guys):
	guy_id = input()
	guys_dir[guy_id] = 0
	guys_list.append(guy_id)
	guys_dir[guy_id] = i + 1

#判断输入的id获奖情况	
judge_guys = input()
judge_guys = int(judge_guys)
for i in range(judge_guys):
	id = input()
	if id in guys_list and guys_dir[id] > 0:
		rank = guys_dir[id]
		if rank == 1:			
			print(id + ': ' + 'Mystery Award')
		elif isPrime(rank):
		
			print(id + ': ' + 'Minion')
		else:
			print(id + ': ' + 'Chocolate')
		guys_dir[id] = 0
	elif id not in guys_list:
		print(id + ': ' + 'Are you kidding?')
	else:
		print(id + ': ' + 'Checked')
	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值