給定數字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個測試用例。每個測試用例在一...