首页 > 试题广场 >

数字游戏

[编程题]数字游戏
  • 热度指数:49 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的前缀零将被忽略。得到最大数字的玩家赢得这个游戏。

输入描述:
输入包括两行,第一行包括一个整数n(1 ≤ n ≤ 50),即玩家的人数
第二行n个整数x[i](0 ≤ x[i] ≤ 100000),即每个玩家写下的整数。


输出描述:
输出一个整数,表示赢得游戏的那个玩家获得的最大数字是多少。
示例1

输入

3
9638 8210 331

输出

3689
import sys
num = int(sys.stdin.readline())
cases = sys.stdin.readline().rstrip('\n').split(" ")
arr=[[]]*num
res=[0]*num
for i in range(0,num):
    arr[i] = sorted([int(i) for i in str(cases[i])])
    for j in range(0,len(arr[i])):
        res[i]+= arr[i][j] * pow(10,len(arr[i])-1-j)
print(max(res))
发表于 2021-03-23 10:19:38 回复(0)