
Задача 13*
DJ Krutoj хочет записать компакт-диск с самыми популярными песнями. К несчастью, у него совсем нет никаких записей популярных песен, а есть только радиоприемник, с помощью которого он и планирует записать диск. Ему удалось узнать полную программу песен, которые будут передавать в течение определенного отрезка времени по всем имеющимся радиопрограммам. Из них он выбрал только те песни, которые ему интересны.
Аппаратура у этого DJ не позволяет делать паузы при записи. Таким образом, чтобы сделать нормальный компакт диск, он должен сразу после окончания очередной песни переключаться на другой канал, где начинается другая интересная песня. Помогите DJ составить программу, которая позволит определить, какое наибольшее количество песен он может записать.
Во входном файле содержится N (1 N 5000) пар чисел, описывающих начало и конец какой-либо интересной песни. Все числа целые в диапазоне от 1 до 100, длительность каждой песни не меньше одной минуты.
Результатом работы программы служит файл, содержащий единственное число – максимальное количество песен, которые можно записать подряд при данной программе радиопередач.
Задача 11*
В базе данных роутера хранится информация о нескольких серверах, некоторые из них связаны между собой напрямую, другие – только опосредованно. Получая электронное письмо от сервера с номером M (отправителя), предназначенное для сервера с номером N (получателя), роутер должен найти в своей базе данных самый короткий путь пересылки этого письма по сети. Напишите программу, которая, зная информацию о всевозможных соединениях и их длительности, осуществляла бы поиск самого короткого пути пересылки и выдавала бы информацию о времени, за которое письмо преодолеет весь этот путь. Если такого пути нет (например, на промежуточном сервере произошла авария), то необходимо выдать сообщение ‘no’.
В первой строке входного файла содержится одно натуральное число 1 N 100 – количество серверов, информация о которых записана в базе данных роутера.
Во второй строке – два целых числа 1 S1, S2 N, разделенные пробелом – номера сервера-отправителя и сервера-получателя.
Начиная с третьей строки и до конца файла, записаны имеющиеся между серверами активные каналы связи и скорость передачи данных по этим каналам. Сначала записаны номера серверов 1 Si, Sj N, а затем скорость передачи данных между ними – целое число 0 K 1000. Все числа в одной строке разделены пробелами.
В выходной файл нужно записать одно целое число – время, необходимое письму для прохождения по самому быстрому пути связи.
Задача 12*
Под изделием будем понимать вершину, из которой нет исходящих дуг. Под деталью будем понимать вершину, у которой нет входящих дуг. Под узлом будем понимать вершину, у которой есть как входящие, так и исходящие дуги. Структура изделий может быть описана взвешенным ориентированным графом без циклов, показывающим в каком количестве какие детали/узлы используются для сборки других изделий/узлов. Дуга начинается на узле/детали и заканчивается на изделии/узле, где используется первая. Вес дуги указывает количество. Например, на рис. 1 узел №4 используется в изделии №1 в количестве 2 штук, а в узле №3 в количестве 3 штук.
Требуется написать программу, подсчитывающую в каком количестве используется каждая деталь или узел для изготовления одного изделия каждого вида.
Н
апример,
для данных на рисунке нужно указать в
каком количестве используется каждый
узел и каждая деталь для сборки одного
изделия №1 и одного изделия №2.
№1 = 1
№2 = 1
№3 = 31+11 = 4
№4 = 2+33+31 = 14
№5 = 3+22+233+231 = 31
№6 = 2+23+21+33+322+3233+3231 = 103
№7 = 4+43+41+231+233+22+53+522+5233+5231 = 203
В каждой строке входного файла задается через один пробел тройка натуральных чисел. Первое число задает номер изделия/узла. Второе число задает номер узла/детали, которая используется в первом. Третье число задает количество. Тройки чисел не упорядочены, но все вместе описывают заданную структуру изделий Предполагается, что общее количество сборочных единиц не превышает 100, а их номера задаются последовательно, начиная с единицы. Количество каждой из сборочных единиц (одного типа) не превышает 231–1. Результатом работы программы служит файл, содержащий столько строк, сколько сборочных единиц выявлено. В каждой строке (номер строки должен совпадать с номером сборочной единицы) выводится количество сборочных единиц, необходимых для сборки одного изделия каждого вида. В строках, которые соответствуют номерам изделий, выводятся единицы.