На складе хранятся кубические контейнеры двух цветов различного размера.
Чтобы сократить занимаемое при хранении место, контейнеры вкладывают друг в друга. Чтобы вложенные контейнеры было лучше видно, их цвета при вложении обязательно должны чередоваться, то есть нельзя вкладывать контейнер в контейнер такого же цвета. Один контейнер можно вложить в другой, если размер стороны внешнего контейнера превышает размер стороны внутреннего
Зная размеры и цвета всех контейнеров, определите максимально возможное количество контейнеров в одном блоке и минимальное количество ячеек для хранения всех контейнеров.
Входные данные.
Каждая строка входного файла содержит натуральное число и
Число обозначает размер контейнера в условных единицах, буква — цвет этого контейнера
В ответе запишите два целых числа: сначала максимально возможное количество контейнеров в одном блоке, затем минимальное количество ячеек для хранения всех контейнеров.
Ответ:
Приведём другое решение на языке Python.
f = open('26.txt')
box=[]
cklad =[]
for i in f:
size, color = i.split()
box.append([int(size),color])
box.sort(reverse=True)
while len(box)>0:
block = [box.pop(0)]
for j in range (len(box)):
if block[-1][0]-box[j][0] >= 7 and box[j][1] != block[-1][1]:
block.append(box[j])
box[j]=''
box = [x for x in box if x!='']
cklad.append(block)
print(max(len(x) for x in cklad), len(cklad))
Ответ: 1888&189.

