Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/222: Рейтинг темы: голосов - 222, средняя оценка - 4.56
9 / 9 / 0
Регистрация: 15.08.2017
Сообщений: 10
1

Задача - Полиглоты

16.08.2017, 22:15. Показов 41820. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Каждый из N школьников некоторой школы знает Mᵢ языков. Определите, какие языки знают все школьники и языки, которые знаетхотя бы один из школьников.

Формат ввода

Первая строка входных данных содержит количество школьников N. Далее идет N чисел Mᵢ, после каждого из чисел идет Mᵢ строк, содержащих названия языков, которыезнает i-й школьник. Длина названий языков не превышает 1000 символов, количестворазличных языков не более 1000. 1≤N≤1000, 1≤Mᵢ≤500.

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

В первой строке выведите количество языков, которые знают все школьники. Начиная со второй строки - список таких языков. Затем - количество языков, которые знает хотя бы один школьник, на следующих строках - список таких языков.

Примеры:
Кликните здесь для просмотра всего текста

Тест 1
Входные данные:
3
3
Russian
English
Japanese
2
Russian
English
1
English

Вывод программы:
1
English
3
Russian
Japanese
English


Решал следующим методом. Но Тестировщик в одном из своих тестов находит неправильный ответ
Подскажите, пожалуйста, что я мог не учесть при написании кода. Какие варианты мог не предусмотреть.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lang = []
union = set()
all = set()
for i in range(int(input())):
    m = int(input())
    a = {input() for j in range(m)}
    all.update(a)
    if len(union) == 0:
        union.update(a)
    else:
        union &= a
print(len(union))
print('\n'.join(sorted(union)))
print(len(all))
print('\n'.join(sorted(all)))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2017, 22:15
Ответы с готовыми решениями:

Полиглоты
Доброго времени суток, есть такая задача: Каждый из N школьников некоторой школы знает Mi...

Полиглоты (использовать множества)
Решить с помощью множеств! Каждый из N школьников некоторой школы знает Mi языков. Определите,...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько...

Задача со строками. Задача находится на фотке, которая прикреплена к сообщению
Фотку прикрепил к сообщению. П.5.4. Правил Запрещено создавать темы с бессмысленными названиями...

Васильев C# Глава 8 задача 2 (Просьба объяснить формулировку(задача внутри)
Текст задачи Написать программу , в которой есть класс с полем, являющимся ссылкой на одномерный...

5
9 / 9 / 0
Регистрация: 15.08.2017
Сообщений: 10
19.08.2017, 22:32  [ТС] 2
Привет всем еще раз.
Проблема оказалась в неверном условии, если длина равна == 0, верным же оказывается условие чтобы это был первый перебираемый школьник, иначе получается, что в середине отработки множество общих языков обнуляется а скрипт думает что это самый первый школьник.

В итоге, верный код выглядит следующим образом:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lang = []
union = set()
all = set()
for i in range(int(input())):
    m = int(input())
    a = {input() for j in range(m)}
    all.update(a)
    if i == 1:
        union.update(a)
    else:
        union &= a
print(len(union))
print('\n'.join(sorted(union)))
print(len(all))
print('\n'.join(sorted(all)))
6
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 4
03.04.2018, 11:43 3
ребят а для чего список lang, если в ниже в коде не видно его использования?
0
1292 / 909 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
03.04.2018, 11:46 4
Просто ошибка
1
9 / 9 / 0
Регистрация: 15.08.2017
Сообщений: 10
03.04.2018, 11:51  [ТС] 5
Цитата Сообщение от Moksha Посмотреть сообщение
ребят а для чего список lang, если в ниже в коде не видно его использования?
Да, спасибо за внимательность, надеюсь модераторы подправят код. Сам, насколько я понимаю, не могу, сообщение старенькое!)
1
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 4
03.04.2018, 13:52 6
блин, а я неделю задачу не сдавал все думал, для чего "ланг" ))))
0
03.04.2018, 13:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2018, 13:52
Помогаю со студенческими работами здесь

Васильев C# Глава 7 задача 8 (Просьба объяснить формулировку(задача внутри)
Текст задачи Напишите программу с классом, у которого есть текстовое поле. Значение текстовому...

Задача при создание нового лида выводится задача от несущ.пользователя Б24
При создание нового Лида Выходит уведомление от пользователя которого нету в компаний. ...

Задача о ханойской башне в классе(задача Яндекс Практикум)
Всем привет, я новичок в С++ и в данный момент застрял на задаче Ханойской башни, я понимаю что...

Задача коммивояжера, TSP, задача на нахождение кратчайших путей
Здравствуйте, знаю что это наглость с моей стороны, но может кто то решал задачу коммивояжера и у...

Задача целочисленного программирования. Задача на оптимизацию. Матричный метод
Здравствуйте. Преподаватель дал задачи (скриншоты прикреп.) и эти две задачи были решены...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru