題目描述
HXY得到了一些卡片,這些卡片上標有數字0或5。現在她可以選擇其中一些卡片排成一列,使得排出的一列數字組成的數最大,且滿足被90整除這個條件。同時這個數不能含有前導0,即0不能作爲這串數的首位。如果不能排出這樣的數,輸出“-1”。
輸入輸出格式
輸入格式:
第一行,卡片的個數n。
第二行,分別給出了這n個數(只能爲數字5或0)。
輸出格式:
僅一行,如果可以排出,則輸出這個數。否則輸出“-1”。
輸入輸出樣例
輸入樣例#1:
4
5 0 5 0
輸出樣例#1: 0
輸入樣例#2:
11
5 5 5 5 5 5 5 5 0 5 5
輸出樣例#2: 5555555550
衆所周知
一個數想被9整除
必須各位上面的數之和是九的倍數
所以必須本題中5的個數大於等於九個
而且必須是九的整數倍個
#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = input()
n = int(n)
card = input().split()
cnt = 0
judge = False
for i in range(0, n):
card[i] = int(card[i])
if card[i] == 5:
cnt += 1;
for i in range(0, n):
if card[i] == 0:
judge = True
#print(cnt)
#print(judge)
if judge==True:
if cnt>=9:
card.sort(reverse = True)
temp = int(cnt/9)
r = temp*9
#print(card)
for i in range(cnt-r, n): #就是這裏,一開始寫成n-r-1,死活想不明白
print(card[i], end='')
else:
print('0')
else:
print('-1')
看起來好像又被我整麻煩了的亞子