組個最小數(20)

2021-08-26 17:44:39 字數 975 閱讀 5758

給定數字0-9各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小(注意0不能做首位)。例如:

給定兩個0,兩個1,三個5,乙個8,我們得到的最小的數就是10015558。

現給定數字,請編寫程式輸出能夠組成的最小的數。

每個輸入包含1個測試用例。每個測試用例在一行中給出10個非負整數,順序表示我們擁有數字0、數字1、……數字9的個數。整數間用乙個空

格分隔。10個數字的總個數不超過50,且至少擁有1個非0的數字。

在一行中輸出能夠組成的最小的數。
2 2 0 0 0 3 0 0 1 0
10015558
語言:python3

def find1(m):

list1 = ['1', '2', '3', '4', '5', '6', '7', '8', '9']

if m[0] == '0':

for i in range(len(m)):

for j in range(len(list1)):

if m[i] == list1[j]:

return i, list1[j]

else:

return -1, -1

n = input().split()

m = ''

for i in range(10):

if n[i] != '0':

m = m + str(i) * int(n[i])

m = list(m)

m.sort()

a, num = find1(m)

if a == -1 and num == -1:

print(''.join(m))

else:

m.insert(0, num)

del m[a+1]

print(''.join(m))

組個最小數 20

時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 給定數字0 9各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小 注意0不能做首位 例如 給定兩個0,兩個1,三個5,乙個8,我們得到的最小的數...

組個最小數 20

組個最小數 20 給必須全部使用。目標是使得最後得到的數盡可能小 注意0不能做首位 例如 給定兩個0,兩個1,三個5,乙個8,我們定數字0 9各若干個。你可以以任意順序排列這些數字,但得到的最小的數就是10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。輸入格式 每個輸入包含1個測試用例...

1023 組個最小數 20

給定數字0 9各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數盡可能小 注意0不能做首位 例如 給定兩個0,兩個1,三個5,乙個8,我們得到的最小的數就是10015558。現給定數字,請編寫程式輸出能夠組成的最小的數。輸入格式 每個輸入包含1個測試用例。每個測試用例在一...