Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА №5 - II сем. - Графы.doc
Скачиваний:
7
Добавлен:
11.08.2019
Размер:
82.43 Кб
Скачать

Варианты 51-60 (Сложность 6)

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

Входные данные: В первой строке через пробел - два числа N и E - общее число городов и число пар городов, между которыми возможна организация рейсов. В следующих E строках через пробел записаны по три числа - номер начального города, конечного и расстояние между ними (2<=N<=1000)

Выходные данные: В первой строке - минимальная суммарная протяженность рейсов. В следующих N-1 строках - через пробел пары городов, которые будут связаны рейсами.

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

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

4 5

1 2 3

1 3 4

2 3 2

2 4 1

3 4 8

6

1 2

2 3

2 4

  1. Создать класс неориентированного графа и использовать его для решения следующей задачи…

  2. Создать класс неориентированного графа и использовать его для решения следующей задачи. N шестеренок пронумерованы числами от 1 до N (N<= 10). Задано M (0<=M<=45) соединений пар шестерен в виде (i,j), 1<=i<j<=N (шестерня с номером i находится в зацеплении с шестерней j). Необходимо определить, можно ли повернуть шестерню с номером 1? . Если да – выдать сообщение.

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

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

  2. Создать класс ориентированного графа и использовать его для решения следующей задачи. Задано N городов c номерами от 1 до N и сеть из M дорог с односторонним движением между ними. Каждая дорога задается тройкой (i,j,k), где i - номер города, в котором дорога начинается, j - номер города, в котором дорога заканчивается, а k - ее длина (число k - натуральное). Дороги друг с другом могут пересекаться только в концевых городах. Найти все пути между двумя указанными городами A и B и упорядочить их в список по неубыванию их длин (если есть несколько путей одинаковой длины, то порядок их перечисления произвольный).

  3. Создать класс ориентированного графа и использовать его для решения следующей задачи. Некоторые школы связаны компьютерной сетью. Между школами заключены соглашения: каждая школа имеет список школ получателей, которым она рассылает программное обеспечение всякий раз, получив новое бесплатное программное обеспечение (извне сети или из другой школы). При этом, если школа В есть в списке получателей школы А, то школа А может и не быть в списке получателей школы В.

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

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

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

5

2 4 3 0

4 5 0

0

0

1 0

1