![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Nezhny_Vampir |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Alexander Rodin Репутация: ![]() ![]() ![]() |
Цитата В подземелье есть N залов, соединенных туннелями. В некоторых залах находятся роботы, которые одновременно получили команду собраться в одном месте. Роботы устроены так, что, получив команду, они все начали двигаться с такой скоростью, что туннель между двумя любыми залами преодолевают за 1 минуту. Роботы не могут останавливаться (в том числе и в залах), а также менять направление движения, находясь в туннелях (однако попав в зал робот может из него пойти по тому же туннелю, по которому он пришел в этот зал). Напишите программу, вычисляющую, через какое минимальное время все роботы смогут собраться вместе (в зале или в туннеле). Формат входных данных Во входном файле записаны сначала числа N — количество залов (1N400) и K — количество туннелей (1K20000). Далее записано K пар чисел, каждая пара описывает номера залов, соединяемых туннелем (по туннелю можно перемещаться в обе стороны). Между двумя залами возможно несколько туннелей. Туннель может соединять зал с самим собой. Далее записано число M (1M400) — количество роботов. Затем идет M чисел, задающих номера залов, где вначале расположены роботы. В одном зале может быть несколько роботов. Формат выходных данных В выходной файл выведите минимальное время в минутах, через которое роботы могут собраться вместе. Если роботы никогда не смогут собраться вместе, выведите одно число –1 (минус один). Примеры f.in f.out 4 5 1 2 2 3 3 4 1 4 1 3 3 1 2 4 1 3 3 1 2 2 3 3 1 3 1 2 3 1.5 В какую сторону двигаться? А еще, где можно взять решения задач с IX Московской командной олимпиады школьников по программированию (проходившей в 2005 году)? Сообщение отредактировано: Nezhny_Vampir - 12.11.2006 17:51 |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
а как считать время, если они собрались в туннеле?.. Ну, собственно, не в этом счастье...
Это школьно-олимпиадная задача? Пока мысли в сторону построения графа (даже не столько графа как динамической структуры, сколько задающей его матрицы смежности вершин) и поиска кратчайшего пути в нем - понятно, что искомое время равно времени, которое потратит самый дальний робот.... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 6:25 |