Темы --> Информатика --> Алгоритмы --> Пересечение множеств
---> 10 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 1 2 Отображать по:

Васин жесткий диск состоит из M секторов. Вася последовательно устанавливал на него различные операционные системы следующим методом: он создавал новый раздел диска из последовательных секторов, начиная с сектора номер ai и до сектора bi включительно, и устанавливал на него очередную систему. При этом, если очередной раздел хотя бы по одному сектору пересекается с каким-то ранее созданным разделом, то ранее созданный раздел «затирается», и операционная система, которая на него была установлена, больше не может быть загружена.

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

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

Сначала вводятся натуральное число M — количество секторов на жестком диске (1 ≤ M ≤ 109) и целое число N — количество разделов, которое последовательно создавал Вася (0 ≤ N ≤ 1000).

Далее идут N пар чисел ai и bi, задающих номера начального и конечного секторов раздела

(1 ai  biM).

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

Выведите одно число — количество работающих операционных систем на Васином компьютере.

Input:

10

3

1 3

4 7

3 4

Output:

1

ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
64 megabytes

С детства Максим был неплохим музыкантом и мастером на все руки. Недавно он самостоятельно сделал несложный перкуссионный музыкальный инструмент — треугольник. Ему нужно узнать, какова частота звука, издаваемого его инструментом.

У Максима есть профессиональный музыкальный тюнер, с помощью которого можно проигрывать ноту с заданной частотой. Максим действует следующим образом: он включает на тюнере ноты с разными частотами и для каждой ноты на слух определяет, ближе или дальше она к издаваемому треугольником звуку, чем предыдущая нота. Поскольку слух у Максима абсолютный, он определяет это всегда абсолютно верно.

Вам Максим показал запись, в которой приведена последовательность частот, выставляемых им на тюнере, и про каждую ноту, начиная со второй, записано — ближе или дальше она к звуку треугольника, чем предыдущая нота. Заранее известно, что частота звучания треугольника Максима составляет не менее 30 герц и не более 4000 герц.

Требуется написать программу, которая определяет, в каком интервале может находиться частота звучания треугольника.

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

Первая строка входного файла содержит целое число \(n\) — количество нот, которые воспроизводил Максим с помощью тюнера (\(2\le n\le1000\)). Последующие \(n\) строк содержат записи Максима, причём каждая строка содержит две компоненты: вещественное число \(f_i\) — частоту, выставленную на тюнере, в герцах (\(30\le f_i\le4000\)), и слово «closer» или слово «further» для каждой частоты, кроме первой.

Слово «closer» означает, что частота данной ноты ближе к частоте звучания треугольника, чем частота предыдущей ноты, что формально описывается соотношением: \(|f_i-f_{треуг.}|<|f_{i-1}-f_{треуг.}|\).

Слово «further» означает, что частота данной ноты дальше, чем предыдущая.

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

Гарантируется, что результаты, полученные Максимом, непротиворечивы.

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

В выходной файл необходимо вывести через пробел два вещественных числа — наименьшее и наибольшее возможное значение частоты звучания треугольника, изготовленного Максимом. Числа должны быть выведены с точностью не хуже \(10^{-6}\).

Примеры
Входные данные
3
440
220 closer
300 further
Выходные данные
30.0 260.0
Входные данные
4
554
880 further
440 closer
622 closer
Выходные данные
531.0 660.0
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Дороги Нью-Манхэттена устроены следующим образом. С юга на север через каждые сто метров проходит авеню, с запада на восток через каждые сто метров проходит улица. Авеню и улицы нумеруются целыми числами. Меньшие номера соответствуют западным авеню и южным улицам. Таким образом, можно построить прямоугольную систему координат так, чтобы точка \((x, y)\) лежала на пересечении \(x\)-ой авеню и \(y\)-ой улицы. Легко заметить, что для того, чтобы в Нью-Манхэттене дойти от точки \((x_1, y_1)\) до точки \((x_2, y_2)\) нужно пройти \(|x_2-x_1|+|y_2-y_1|\) кварталов. Эта величина называется манхэттенским расстоянием между точками \((x_1, y_1)\) и \((x_2, y_2)\).

Миша живет в Нью-Манхэттене и каждое утро делает пробежку по городу. Он выбегает из своего дома, который находится в точке \((0, 0)\) и бежит по случайному маршруту. Каждую минуту Миша либо остается на том же перекрестке, что и минуту назад, или перемещается на один квартал в любом направлении. Чтобы не заблудиться Миша берет с собой навигатор, который каждые \(t\) минут говорит Мише, в какой точке он находится. К сожалению, навигатор показывает не точное положение Миши, он может показать любую из точек, манхэттенское расстояние от которых до Миши не превышает \(d\).

Через \(t\cdot n\) минут от начала пробежки, получив \(n\)-е сообщение от навигатора, Миша решил, что пора бежать домой. Для этого он хочет понять, в каких точках он может находиться. Помогите Мише сделать это.

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

Первая строка входного файла содержит числа \(t\), \(d\) и \(n\) (\(1 \le t \le 100\), \(1 \le d \le 100\), \(1 \le n \le 100\)).

Далее \(n\) строк описывают данные, полученные от навигатора. Строка номер \(i\) содержит числа \(x_i\) и \(y_i\) — данные, полученные от навигатора через \(t\cdot i\) минут от начала пробежки.

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

В первой строке выходного файла выведите число \(m\) — число точек, в которых может находиться Миша. Далее выведите \(m\) пар чисел — координаты точек. Точки можно вывести в произвольном порядке.

Гарантируется, что навигатор исправен и что существует по крайней мере одна точка, в которой может находиться Миша.

Примеры
Входные данные
2 1 5
0 1
-2 1
-2 3
0 3
2 5
Выходные данные
2
1 5
2 4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

В театре работает \(n\) актеров. Известно, что среди них \(a\) – высоких, \(b\) – голубоглазых и \(с\) – блондинов. Для главной роли в новом спектакле режиссеру требуется только один высокий голубоглазый блондин. Чтобы спланировать свое время для беседы с каждым таким артистом из труппы театра, режиссеру необходимо узнать, какое максимальное или какое минимальное количество артистов из работающих в театре подходит для этой роли.

Требуется написать программу, которая по заданным числам \(n\), \(a\), \(b\) и \(с\) определяет минимальное или максимальное количество актеров, с которыми режиссер должен переговорить.

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

Первая строка входного файла содержит одно число, которое задает, минимальное или максимальное количество актеров необходимо найти в данном тесте. Это число может принимать следующие значения:

  • 1, если в данном теcте требуется определить минимальное количество актеров;
  • 2, если в данном тесте требуется определить максимальное количество актеров.
Вторая строка входного файла содержит разделенные пробелами четыре целых числа: \(n\), \(a\), \(b\), \(с\) (\(1 \leq n \leq 10 000\), \(0 \leq a \leq n\), \(0 \leq b \leq n\), \(0 \leq c \leq n\)).
Выходные данные

Выходной файл должен содержать одно число – минимальное или максимальное (в зависимости от входных данных) количество актеров, которые могут претендовать на главную роль в новом спектакле.

Система оценивания

Правильные решения для тестов, в которых требуется найти минимальное количество актеров, будут оцениваться из 50 баллов.

Правильные решения для тестов, в которых требуется найти максимальное количество актеров, будут оцениваться из 50 баллов.

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

Примеры
Входные данные
2
5 3 4 5
Выходные данные
3
Входные данные
1
5 3 4 5
Выходные данные
2

Страница: << 1 2 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест