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

Антиматерия. Вывести в одной строке через пробел все числа, для которых не было повторений в других сосудах.

17.02.2022, 15:14. Показов 7972. Ответов 7

Студворк — интернет-сервис помощи студентам
Антиматерия образована почти из таких же структурных элементов, что и обычная материя – такая же масса, такой же по величине заряд. Только знак у этого заряда противоположный. То есть у электронов минус, а у антиэлектронов – плюс, у протонов – плюс, у антипротонов – минус. И если такие атом и антиатом встретятся, то сразу аннигилируют, то есть превратятся в чистую энергию и пропадут.

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

Итак, у нас есть несколько сосудов, в каждом из них находятся частицы одного сорта.

Будем считать, что для того, чтобы остаться, частица ни разу не должна встретить своего повторения из другого сосуда. Любое количество повторений – и все повторяющиеся частицы пропадают.

Напишите программу, которая определит, что останется, если соединить частицы, находящиеся в разных сосудах.

Формат ввода
Вводятся числа, пока не будет введена пустая строка. Разделитель сосудов – число -1. Количество сосудов заранее неизвестно.

Формат вывода
Вывести в одной строке через пробел все числа, для которых не было повторений в других сосудах. Порядок вывода неважен, каждую частицу выводить один раз, даже, если в одном и том же сосуде она встречалась не однажды.

Пример 1
Ввод
45
26
22
22
-1
26
-1
45
10
26
-1

Вывод
22 10

Пример 2
Ввод
41
8
36
9
37
-1
41
50
41
-1

Вывод
37 8 36 9 50
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2022, 15:14
Ответы с готовыми решениями:

Все нечетные числа возвести в квадрат и выводить в одной строке через пробел
Ввести N целых чисел. Все нечетные числа возвести в квадрат и выводить в одной строке через пробел. В первой строке стандартного...

Выведите все нечётные целые числа, находящиеся между введёнными числами (включительно), в одной строке через пробел, в п
Выведите все нечётные целые числа, находящиеся между введёнными числами (включительно), в одной строке через пробел, в порядке возрастания....

Из каждой строки через пробел в алфавитном порядке без повторений вывести слова, у которых не больше 2 общих букв
– Вы задали мне трудную задачку, – кротко пояснил компьютер. – Сорок два?! И это все, что ты можешь нам сказать после семи с половиной...

7
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
17.02.2022, 19:47
Цитата Сообщение от PavelHard Посмотреть сообщение
Количество сосудов заранее неизвестно
это сколько? миллион? миллиард? ограничения есть?
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
17.02.2022, 23:19
Лучший ответ Сообщение было отмечено PavelHard как решение

Решение

Python
1
2
3
4
5
6
7
from functools import reduce
#==============================================================================
*arr, = iter(input, '')
strings = ' '.join(arr).split('-1')
sets = [ set(s.split()) for s in strings ]
lis = reduce( lambda x,y:list(x) + list(y), sets )
print( *( x for x in lis if lis.count(x) == 1 ) )
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
18.02.2022, 08:10
вчера такой ввод придумал:
Python
1
2
3
4
5
6
7
8
9
10
a = []
while True:
    try:
        a.append(set(iter(lambda: int(input()), -1)))
    except:
        break
'''
тут решение
'''
print(a)
2
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
18.02.2022, 08:40
Python
1
2
3
4
5
6
7
8
9
10
11
res = {}
tmp = set()
for i in __import__('sys').stdin.read().split('\n'):
    if i != '-1':
        tmp.add(i)
    else:
        for j in tmp:
            res[j] = res.get(j, 0) + 1
        tmp = set()
 
print(*filter(lambda x: res[x] == 1, res))
Добавлено через 16 секунд

Не по теме:

idealist, жуть

1
0 / 0 / 0
Регистрация: 11.02.2022
Сообщений: 52
18.02.2022, 09:15  [ТС]
eaa, Данные вводятся до пустой строки

Добавлено через 1 минуту
enx, программа вообще не выводит ничего
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
18.02.2022, 09:20
PavelHard, ну сочувствую, потому что у меня выводит, магия - никак иначе.

Добавлено через 38 секунд
Bash
1
2
3
4
5
6
7
8
9
10
11
41
8
36
9
37
-1
41
50
41
-1^D
9 37 8 36 50
0
0 / 0 / 0
Регистрация: 11.02.2022
Сообщений: 52
18.02.2022, 11:14  [ТС]
Всё, разобрался, спасибо всем!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2022, 11:14
Помогаю со студенческими работами здесь

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

Введите три числа в одной строке через пробел и найдите большее
Помогите написать на Python Введите три числа в одной строке через пробел и найдите большее

Вывести все числа от N до 1 через пробел
Напишите программу, которая запрашивает натуральное число N (не более 100), и выводит все числа от N до 1 через пробел. Sample Input...

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

Вывести на экран числа которые находятся между a и b, и чтобы в одной строке было не больше 10 чисел
#include <iostream> int main() { int sum = 0, Fval; for (int Fval =11; Fval <=32; Fval++) sum=sum+1; if (sum<10) ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru