Обработка математики: 100%

printРабочее место участника

printЗадачи

1170. Пересечение

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

Напишите программу для нахождения пересечения двух множеств действительных чисел, заданных интервалами. Существуют следующие типы интервалов (здесь a < b):
[a,b] обозначает множество действительных чисел x,
удовлетворяющих неравенству a  x  b
[a,b)
a  x < b
[a,+)
a  x
(a,b]
a < x  b
(a,b)
a < x < b
(a,+)
a < x
(-,b]
x  b
(-,b)
x < b
(-,+)
все множество действительных чисел
Ввести одну строку, не содержащую пробелов, которая содержит два интервала в указанной форме, разделенных символом *. Границы интервалов заданы целыми числами от -109 до 109. Значение - обозначается символами -@, а + – символами +@.
Вывести результат пересечения в той же форме. Если в результате пересечения получается множество, содержащее одно число d, то его нужно вывести в виде {d}. Если получается пустое множество, то вывести символ %.

Пример ввода

(-@,3)*[2,5]

Пример вывода

[2,3)
loading