Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №26
  • Задание №26
  • Задание №74458 ЕГЭ Информатике

    Условие задания #74458

    №26 по КИМ

    На складе хранятся кубические контейнеры двух цветов различного размера.

    Чтобы сократить занимаемое при хранении место, контейнеры вкладывают друг в друга. Чтобы вложенные контейнеры было лучше видно, их цвета при вложении обязательно должны чередоваться, то есть нельзя вкладывать контейнер в контейнер такого же цвета. Один контейнер можно вложить в другой, если размер стороны внешнего контейнера превышает размер стороны внутреннего на 7 и более условных единиц. Группу вложенных друг в друга контейнеров называют блоком. Количество контейнеров в блоке может быть любым. Каждый блок, независимо от количества и размера входящих в него контейнеров, а также каждый одиночный контейнер, не входящий в блоки, занимает при хранении одну складскую ячейку.

    Зная размеры и цвета всех контейнеров, определите максимально возможное количество контейнеров в одном блоке и минимальное количество ячеек для хранения всех контейнеров.

     

    Входные данные.

    Каждая строка входного файла содержит натуральное число и букву A или B.

    Число обозначает размер контейнера в условных единицах, буква  — цвет этого контейнера (буквами A и B условно обозначены два цвета).

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

    26 (2).txt

    Ответ

    Ответ:

    1888 189

    Решение

    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))

    Понятно ли решение?

    Похожие задания

    15
    Задание №46720Задание №46721Задание №46752Задание №51424Задание №46719Задание №32183Задание №46642Задание №32179Задание №41214Задание №46643Задание №56108Задание №41209Задание №41208Задание №36692Задание №46645
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме