本文主要是介绍洛谷_P1781 宇宙总统_python写法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题如果去比较数字的大小是不行的,因为位数太多了,所以就想到用字符串来比较,字符串比较也有讲究,比如说数字长度越长说明这个数字越大,对于相等长度的数字,我们只需要去比较每一位的数字,只有高位的数字大,那后面的也不用比较了。
import functools
n = int(input())
def my_cmp(a,b):i = 0if len(a[1])<len(b[1]):return 1elif len(a[1])==len(b[1]):while i<len(a[1]):if int(a[1][i])<int(b[1][i]):return 1elif int(a[1][i])==int(b[1][i]):i += 1else:return -1else:return -1data = []
for i in range(n):tmp = input()data.append([i+1,tmp])
data.sort(key=functools.cmp_to_key(my_cmp))
print(data[0][0])
print(data[0][1])
这篇关于洛谷_P1781 宇宙总统_python写法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!