Решал задачу, подскажите как можно сделать лучше

JexxTer

Новичок
Пользователь
Окт 2, 2021
1
0
1
n = int(input('Введите кол-во блоков'))
chisla = []

for x in range(n):
chisla.append([int(y) for y in input().split()])
n=999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
vis = 0
for i in range(n):
if chisla == []:
break
else:
maxl = max(chisla)
if maxl[0] < n:
n = maxl[0]
vis = vis + maxl [1]
chisla.remove(maxl)
else:
chisla.remove(maxl)
print('Высота пирамиды будет равна:' + str(vis))
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    128,7 КБ · Просмотры: 9

ajkpro

Новичок
Пользователь
Сен 5, 2021
13
0
1
Посмотреть вложение 1370
Выложите код как код. Кто тут захочет разгребать ваш пример?

Александр
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Ну твой код разобрать будет трудно, но решить это можно так:

Python:
blocks = dict()
c = int(input())

for i in range(c):

    new = list(map(int, input().split()))

    if new[0] not in blocks:
        blocks[new[0]] = new[1]

    elif blocks[new[0]] < new[1]:
        blocks[new[0]] = new[1]

print(sum(blocks.values()))
 
Последнее редактирование:

Форум IT Специалистов