Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

ИНФОРМАТИКА НА ПОМОШЬ!!!!!! НА ПИТОНЕ

dvd5o3 vv Ученик (85), закрыт 2 месяца назад
Младшеклассники в процессе изучения арифметики играют в игру. Из стопки по одной тянут карточки с цифрами и выкладывают их в цепочку. Вытянутую карточку можно добавить или в начало, или в конец цепочки. Процедура повторяется, пока в стопке есть карточки. Какое наибольшее число можно собрать таким образом, если известна последовательность карточек?

Формат ввода

На вход программе в первой строке подается натуральное число N (N ≤ 10000) – количество карточек. Далее в N строках подаётся по одному целому числу – от 0 до 9. Гарантируется, что в первой строчке подаётся число больше 0.

Формат вывода

Вывести одно целое число – наибольшее возможное, которое можно получить по правилам, описанным в условии задачи.

Пример

Ввод:
5
8
2
3
5
9

Вывод:
98235
Лучший ответ
Skally Gray Ученик (199) 3 месяца назад
N = int(input())
cards = [int(input()) for _ in range(N)]

dp = [0] * (N + 1)
dp[1] = cards[0]

for i in range(2, N + 1):
for j in range(i - 1, -1, -1):
new_number1 = int(str(dp[j]) + str(cards[i - 1]))
new_number2 = int(str(cards[i - 1]) + str(dp[j]))
dp[i] = max(dp[i], new_number1, new_number2)

print(dp[N])
dvd5o3 vvУченик (85) 3 месяца назад
Спасибо, помоги с этой пж https://otvet.mail.ru/question/235606931
Остальные ответы
Похожие вопросы