Главное меню портала
• О портале
• Архив задач
• Карта архива задач
• Результаты тестов
• Ошибки тестирования
• Преподаватели
• Библиотечка
Рейтинг у учителя
• Рейтинг на портале
Начинающему
• Работа с порталом
• Курс для начинающего
• Архив задач начинающего
Олимпиаднику
• Архив задач олимпиадника
Олимпиады
Дистанционные олимпиады
• Положение олимпиады
Новое сообщениеОтправленые
Загрузка...
Время на прохождение теста: 1 секунд(а/ы).
Имя входного файла: input.txt
Имя выходного файла: output.txt

Автор: Бельский Андрей Владимирович

Пробное задание

Вы начинающий программист и хотели бы устроиться на работу в крупную компанию. Наиболее перспективной Вам показалась компания по разработке программного обеспечения “Gold & Silver Soft”. На собеседовании работодатели увидели в Вашем лице перспективного работника. Но все же необходима проверка профессиональных качеств, и Вам было предложено выполнить  пробное задание.

Gold & Silver Soft” сейчас занимается разработкой нового языка программирования. Одним из основных понятий будущего языка является множество. В качестве пробного задания Вам предлагают реализовать функцию объединения двух множеств натуральных чисел M1 и M2.

Множество натуральных чисел называется объединением двух множеств натуральных чисел Mи M2если каждый элемент множества содержится в M и / или M, а также любой элемент из множества M1  или  Mсодержится во множестве M

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

  Входной файл состоит из двух строк, описывающих множества M 1 и M 2 соответственно. Каждая строка описывает одно множество. Описание множества начинается с символа начала “[”(ASCII 91) и заканчивается символом конца “]”( 93). Между символами начала и конца множества находятся блоки чисел, характеризующие элементы множества. Два соседних блока чисел в строке разделяются одной запятой(“,”) и одним пробелом(“ ”). Блоки чисел бывают двух типов: одиночные – содержащие один единственный элемент, и интервальные – содержащие следующие друг за другом числа принадлежащие c соответствующим целочисленным интервалам. Первый тип блоков описывается при помощи единственного элемента. Второй тип блоков описывается при помощи минимального и максимального элементов  соответствующего целочисленного интервала, числа разделяются при помощи строки из двух одинаковых символов точки (“.”). Блоки следуют по возрастанию содержащихся в них элементов. Разность между любыми двумя элементами принадлежащих различным блокам одного множества не должна быть меньше двух. Длина каждой входной строки не превосходит 10000. Все элементы множеств – целые положительные числа, не превосходящие 109. Все входные данные корректны.

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

 Выходной файл должен состоять из одной строки, описывающей множество M в вышеописанном формате. Однако в данном случае длина строки может превышать 10000.


Примеры:
input.txt output.txt
1 [1, 3, 5..6]
[2, 6..8]
[1..3, 5..8]
2 [2..4, 7, 9..64, 71, 75..81]
[1..9, 41..52, 58..66, 72, 99]
[1..66, 71..72, 75..81, 99]

Сложность задачи: 50%



Проверку могут осуществлять только зарегистрированные пользователи!


Показать обсуждение


На сайте гостей 16, зарегистрированных 1:
Shizao,
[Данные за последние 5 минут]