ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрана 1 задача
Версия для печати
Убрать все задачи

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

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

В первой строке входного файла записано количество вершин графа N (1 ≤ N ≤ 25). Далее перечислены ребра графа, заданные номерами начальной и конечной вершин.

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

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

Пример входного файла

4
1 2
1 3
2 3
2 4

Пример выходного файла

2
1 2 4
3

   Решение

Задачи

Страница: << 17 18 19 20 21 22 23 >> [Всего задач: 155]      



Задача 102892

 [Иванушка и царевна ]
Тема:   [ Кратчайшие пути в графах ]
Сложность: 3+

Царевна стоит в центре болота и громко плачет. Злой Кощей привязал ее к столбу веревкой так, что веревка обмоталась вокруг царевны ровно I раз по часовой стрелке. Иванушка хочет освободить царевну и взять ее в жены. Проблема заключается в том, что плавать в болоте невозможно и ему приходится прыгать по кочкам. При каждом таком прыжке за ноги Иванушки зацепляется определенное количество зеленых водорослей. 

Будем считать, что поверхность болота ровная, а веревка достаточно длинная и не может ни за что зацепиться либо запутаться. Иванушка должен, держа в руках конец этой веревки, проскакать по кочкам так, чтобы размотать царевну и вернуться на начальную кочку. Так как царевна очень изнежена, то она ни в какой момент времени не должна быть обмотана веревкой более десяти раз (иначе веревка поранит царевну).

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

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

Первая строка входного файла содержит три целых числа: N – количество кочек в болоте (3 ≤ N ≤ 10), I – количество оборотов веревки (1 ≤ I ≤ 6) и S – номер кочки, на которой в начальный момент стоит Иванушка (1 ≤ S ≤ N). Каждая из следующих N строк содержит вещественные координаты одной из кочек, записанные через пробел. Известно, что никакой отрезок, соединяющий две кочки, не проходит через центр болота, имеющий по соглашению координаты (0, 0).

В следующих N строках записана матрица N × N, составленная из вещественных чисел. Число в i-й строке и j-м столбце этой матрицы означает количество водорослей, цепляющихся за ноги Иванушки при прыжке с i-й кочки на j-ю.

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

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

Пример входного файла

3 1 1
-1 0
0 1
1 -2
0 1 1
1 0 1
1 1 0

Пример выходного файла

3.00
1 3 2 1
Прислать комментарий     Решение


Задача 102897

 [Покрытие путями ]
Тема:   [ Паросочетания ]
Сложность: 3+

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

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

В первой строке входного файла записано количество вершин графа N (1 ≤ N ≤ 25). Далее перечислены ребра графа, заданные номерами начальной и конечной вершин.

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

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

Пример входного файла

4
1 2
1 3
2 3
2 4

Пример выходного файла

2
1 2 4
3
Прислать комментарий     Решение


Задача 102921

 [Треугольники ]
Темы:   [ Перебор с отсечениями ]
[ Треугольники ]
Сложность: 3+

На плоскости отмечено N = 3K точек. Будем рассматривать такие варианты построения K невырожденных треугольников с вершинами в этих точках, при которых каждая из заданных точек является вершиной какого-либо треугольника. Точки расположены так, что хотя бы одно построение с указанным свойством существует. Требуется определить тот вариант, при котором суммарная площадь полученных K треугольников минимальна.

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

Во входном файле содержатся (в указанном порядке) целое число N (1 ≤ N ≤ 30) и N пар вещественных чисел, задающих координаты точек. Числа разделяются пробелами и/или символами перевода строки.

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

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

Пример входного файла

6
0 0
1 0
10 0
0 2
12 0
10 1

Пример выходного файла

2
1 2 4
3 5 6
Прислать комментарий     Решение


Задача 102923

 [Круги ]
Тема:   [ Задачи на полный перебор ]
Сложность: 3+

Задан круг, разделенный на N секторов, и два целых числа M и K. В каждый из секторов круга помещается одно целое число, не меньшее K. Когда секторы заполнены числами, из них можно получать новые числа по следующим правилам:
    взять число из одного сектора;
    взять число, равное сумме двух или более чисел в смежных секторах.
Из новых чисел составляется наибольшая последовательность подряд идущих чисел, начинающаяся с числа M: (M, M+1, M+2, ..., I).

Пример на рисунке показывает, как получить все новые числа от 2 до 21 для приведенных на нем чисел в секторах. Серым цветом выделены суммируемые числа.


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

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

Входной файл содержит три целых числа N, M и K (N ≤ 6, M ≤ 20, 0 ≤ K ≤ 20).

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

Выведите в первую строку выходного файла наибольшее число I для неразрывной последовательности новых чисел от M до I, которая может быть получена из чисел в секторах. Далее выведите все наборы чисел в секторах, из которых можно получить такую последовательность. Каждый набор записывается в отдельную строку выходного файла в виде списка чисел, начинающегося с наименьшего из них (оно может быть не единственным). Числа в списке должны идти в том же порядке, в котором они записаны в секторах круга. Если наименьшее число встречается несколько раз, следует вывести все возможные комбинации. Например, (1 1 2 3), (1 2 3 1), (1 3 2 1) и (1 1 3 2).

Пример входного файла

5
2
1

Пример выходного файла

21
1 3 10 2 5
1 5 2 10 3
2 4 9 3 5
2 5 3 9 4
Прислать комментарий     Решение


Задача 102935

 [Пересечение многоугольников ]
Темы:   [ Прямая и отрезок ]
[ Площадь ]
Сложность: 3+

Два многоугольника на плоскости заданы координатами своих вершин. Требуется вычислить площадь пересечения этих многоугольников, то есть сумму площадей тех кусков, которые образуются при их пересечении и принадлежат каждому из них. При этом вы можете предполагать, что: 
    А) Многоугольники выпуклые, а координаты их вершин даны в произвольном порядке.
    Б) Хотя бы один из многоугольников невыпуклый, но известно, что у каждого из многоугольников не более одного угла, большего 180 градусов, а координаты вершин даны в порядке обхода по часовой стрелке.
Ваша программа по входным данным должна сама определить, какой из этих двух случаев имеет место.

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

Первая строка входного файла содержит целое число N – количество вершин в первом многоугольнике (3 ≤ N ≤ 50). Во второй строке записаны координаты этих вершин. Третья и четвертая строки таким же образом задают второй многоугольник. Координаты всех вершин являются целыми числами из диапазона [-32768, 32767].

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

Выведите в выходной файл искомую площадь не менее чем с 6 верными значащими цифрами.

Пример входного файла

3
0 3 0 -3 -3 0
5
-1 1 2 1 1 0 2 -1 -1 -1

Пример выходного файла

2.0
Прислать комментарий     Решение


Страница: << 17 18 19 20 21 22 23 >> [Всего задач: 155]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .