Время

14:53:08
24 May 2012
Версия для печати

Ленивый посетитель

Один ленивый программист решил посетить N событий. Он был так ленив, что ему было трудно покинуть дом. Но он был также умным программистом, и решил применить хитрость. У него есть список всех событий, которые запланированы на ближайшее будущее, а также начало и конец каждого события. Но он был слишком занят (так что на каждом событии он задерживается на несколько секунд, чем можно пренебречь (то есть берется точка на временной прямой). Ваша задача – найти минимальное число K (минимальное количество которое он будет выходить из дому, чтобы посетить все N событий, а также K списков, показывающих события, которые он посещает за каждый выход из дома.

Технические условия

Входной файл содержит несколько тестов. В первой строке каждого теста записано число 1  N  100. Вторая строка – единственное число N (2  N < 100 000). Затем в следующих N строках записаны по два целых число, модули которых не превосходят 2*10^6: L и R (L  R) – начало и конец события, соответственно.

Для каждого теста для каждого выхода из дома выведите в возрастающем порядке номера посещенных событий (разделенных пробелом).
В конце каждого теста в одной строке выведите “Result = X”, где X – количество выходов из дому.

Информация о задаче

Лимит времени: 1 секунда
Лимит памяти: 64 MB
Баллы за пройденный тест: 1
Сложность: 100% 0/3

Пример

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

1
5
-5 2
-10 0
3 6
5 7
4 8

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

1 2
3 4 5
Result = 2


← Приключения Список задач Сосед →