- •Лабораторная №4 Алгоритмы на графах
- •Все цепи
- •Кратчайший путь
- •Индивидуальные задания
- •Компоненты связности
- •Длинный путь
- •Расстояние
- •Охотники
- •Изолированные города
- •Все дороги
- •Линия электропередач
- •Два города
- •Формат входного файла
- •Формат выходного файла
- •Два не связанных города
- •Три города
- •Соседние города
- •Удаленные города
- •Новые требования
- •Три города
- •Домино - 2
- •Система дорог
- •Ближайшие города
- •Формат входного файла
- •Формат выходного файла
- •Расстояние между двумя ближайшими
- •Все дороги
- •27. Удаленные города
- •Три города
- •Расстояние
- •30. Путь в ближайший
Удаленные города
Имеется n городов пронумерованных с 1 до n и m соединяющих дорог. Расстояния между любыми двумя городами равны 2. Найти длину пути между двумя самыми удаленными городами.
input.txt |
output.txt |
6 7 1 2 1 3 3 5 2 3 3 4 4 5 4 6 |
6 |
Новые требования
В ИМИ СВФУ N студентов и N компьютеров. В институте вводятся новые требования к секретности. В соответствии с этими требованиями, для каждого студента будут определены ровно К компьютеров, к которым этот студент будет иметь допуск (т. е. за которыми этот студент будет иметь право работать), причём так, что к каждому компьютеру будут иметь допуск ровно К студент.
Информация о том, какой студент к какому компьютеру будет иметь допуск, будет известна лишь непосредственно перед вступлением новых требований в силу. Таким образом, чтобы не прерывать работу компьютерных классов, студенты должны будут быстро решить, кто за каким компьютером будет работать. Для этого им необходимо заранее написать программу, которая по любому распределению допусков студентов найдёт рассадку студентов по компьютерам, удовлетворяющую этим допускам.
Из общих соображений секретности известно лишь, что К будет равняться или 1, или 2, или 4; поэтому ваша программа должна уметь работать для любого из этих трех значений К.
Формат входных данных
В первой строке входного файла записаны натуральные числа N и К (1≤N≤ 500). Далее следуют K×N строк, в каждой из которых записаны два натуральных числа — номер студента и номер компьютера, к которому этот студент имеет допуск.
Гарантируется, что каждый студент имеет допуск ровно к К компьютерам, что к каждому компьютеру ровно К студентов имеют допуск, и что K равно либо 1, либо 2, либо 4.
Формат выходных данных
В выходной файл выведите N строк, в каждой по два числа — номер студента и номер компьютера, за которым он должен работать. Строки можно выводить в произвольном порядке.
Если есть несколько решений, выведите любое. Можно доказать, что для любого входного файла, удовлетворяющего указанным ограничениям, всегда имеется как минимум одно решение.
Примеры
input.txt |
output.txt |
3 1 2 3 3 1 1 2 |
3 1 1 2 2 3 |
2 2 1 2 2 1 2 2 1 1 |
1 2 2 1 |
Три города
В некотором государстве n городов. Найти два города удаленных от города A на одинаковом расстоянии. Гарантируется, что такие города есть.
Входные данные
В первой строке входного файла три числа: N, M, A (3≤N≤100), где N - количество вершин графа, M – количество ребер, A - начальная вершина. В следующих M строках заданы по 3 числа, номера вершин и расстояние между ними.
Выходные данные
Номера двух городов равноудаленных от города A. Если их несколько, напечатать любые из них.
Пример
Input.txt |
Output.txt |
6 6 2 1 2 6 1 3 2 2 3 4 2 4 5 4 6 1 3 5 2 |
5 6 |
