Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.01.2026
Сообщений: 1

Код для задачи на вывод числа

12.01.2026, 22:46. Показов 1441. Ответов 5

Студворк — интернет-сервис помощи студентам
Привет всем, помогите пожалуйста с кодом. Второй день мучаюсь никак не могу написать.
После успешного окончания кулинарных курсов Кеша, который всегда мечтал работать в арктике, устроился на работу на изолированную полярную станцию. Когда он прибыл на станцию вместе с запасом свежих продуктов ее персонал сильно образовался и решил устроить небольшой праздник. {br} На этот праздник Кеша решил приготовить N видов свежевыжатых соков. Для приготовления соков требуется K различных овощей и фруктов, причём в состав одного сока может входить от 1 до K компонентов. Объём чаши соковыжималки, которой будет пользоваться Кеша, а также количество исходных материалов достаточны для того, чтобы приготовить весь объём требуемого сока за один раз.{br} По технологии, чашу соковыжималки надо помыть после приготовления каждого сока. Но Кеше не нравится эта операция, так как она расходует слишком много теплой воды и занимает много времени...Он заметил, что если в состав следующего сока входят все компоненты, требуемые для изготовления предыдущего, то чашу можно и не мыть. Так, после приготовления яблочного сока можно обойтись без мытья чаши перед приготовлением яблочно-ананасового сока. {br} Помогите Иннокентию и рассчитайте минимальное количество операций мытья чаши, которые потребуются для приготовления всех соков. Естественно, после выполнения работы чаша должна быть чистой!

Формат ввода
В первой строке записываются целые величины N и K (1 ⩽ N, K ⩽ 300). Далее следуют N строк, каждая из которых описывает рецепт изготовления одного сока. Первое число этой строки m (1 ⩽ m ⩽ K) — количество компонентов сока. Далее следуют m различных целых чисел, каждое из которых находится в интервале от 1 до K включительно — номера компонентов, которые входят в состав соответствующего сока. Гарантируется, что набор компонентов различен для различных соков.

Формат вывода
Выведите единственное число — минимальное количество операций по мытью чаши.

Пример 1
Ввод
3 2
1 1
1 2
2 1 2
Вывод
2
Пример 2
Ввод
4 4
1 1
1 2
1 3
1 4
Вывод
4
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2026, 22:46
Ответы с готовыми решениями:

Вывод числа прописью и наоборот, вывод слова числом
Вечер добрый. Есть программа, которая выводит число прописью до 99.999.999. Как сделать, чтобы она...

Дописать код - вывод индекса числа методом двоичного поиска элемента списка
Добрый день, бьюсь несколько дней над скорее всего простым решением задачи Дано: -...

Задача слишком много хочет: вывод в единственном числе
Вот мой код: # Компьютерный формат даты и времени состоит только из чисел, например:...

5
123 / 118 / 18
Регистрация: 05.08.2021
Сообщений: 514
12.01.2026, 23:58
Чего тут второй день мучиться? Создаем пустой массив и счетчик со значением ноль. В цикле заносим в него подсписки номеров компонентов (или чего там нужно заносить?) и заодно сравниваем текущий подсписок и предыдущий (то есть текущий индекс минус один). Если в предыдущем только компоненты которые есть в текущем - значит мыть не надо. Если нет - плюсуем счетчик. В результате и будет минимальное количество помытий. Как-то вот так оно получается...
0
2903 / 1937 / 210
Регистрация: 05.06.2011
Сообщений: 5,717
14.01.2026, 01:52
В принципе, до десяти (а то и 13) напитков можно тупо полным перебором, коли уж про ограничения времени ничего не сказано.
0
123 / 118 / 18
Регистрация: 05.08.2021
Сообщений: 514
15.01.2026, 11:15
Общее направление решения вроде должно быть таким
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
n,k = int(input('n ')),int(input('k '))
l,c = [],0
 
def f(a,b):    
    for i in a:
        if not i in b:
            return False
    return True
 
for j in range(n):
    m = int(input('m '))
    if m > k:
        print('Компонентов больше положенного')
        break
    mm = [int(input()) for _ in range(m)]
    l.append(mm)
    
for i in range(1,len(l)):
    res = f(l[i - 1],l[i])
    if not res:
        c += 1
 
if not c:
    print(1)
else:    
    print(c + 1)
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
15.01.2026, 20:43
Или так:
Python
1
2
3
4
5
6
7
8
n, k = map(int, input().split())
i, *s = map(int, input().split())
cnt = 1
for _ in range(n-1):
    j, *t = map(int, input().split())
    cnt += not set(s).issubset(set(t))
    s = t
print(cnt)
1
123 / 118 / 18
Регистрация: 05.08.2021
Сообщений: 514
16.01.2026, 12:49
А в моем решении можно избавиться от лишнего цикла. А то аж три - многовато. Правда у меня после этого работать стало чуть медленнее

Добавлено через 31 минуту
Да, что-то скрипт в таком случае медленнее думает
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
n,k = int(input('n ')),int(input('k '))
l,c = [],0
 
def f(a,b):    
    for i in a:
        if not i in b:
            return False
    return True
 
for j in range(n):
    m = int(input('m '))
    if m > k:
        print('Компонентов больше положенного')
        break
    mm = [int(input()) for _ in range(m)]
    l.append(mm)
    if j > 0:
        if not f(l[j - 1],l[j]):
            c += 1
print(1 if not c else c + 1)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2026, 12:49
Помогаю со студенческими работами здесь

Если число равно 0, то человек считает задачу простой, а если оно равно 1, то человек считает задачу сложной
Входные данные В первой строке задано одно целое число n (1≤n≤100) — количество опрошенных...

Как мне исправить код, чтоб вывод был верный, как ниже приведенный
# #Сергей составляет 6-буквенные коды из букв К, А, Л, И, Й. Буква Й может использоваться в коде не...

Код телеграм-бота - вывод сообщения в чат по кнопке
Добрый день всем ! Вот кусок кода в бота телеграмм который отвечает за создание кнопок и...

Код выдает ошибку (вывод изображений с помощью tkinter)
При запуске рисует цифру два и после выдает ошибку, должно рисовать цифру два и четыре в рандомных...

Как перевести код на PyQt в код на PySide?
Собственно сабж. Создается табличка QAbstractTableModel с двумя колонками и в последствии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru