Задача №1704. Маршрут для гонца
Разбор добавил Виталий Павленко
Достаточно проверить граф на связность, а потом найти в нём эйлеров цикл. Затем номера вершин в эйлеровом цикле заменить на соответствующие ворота.Приведу алгоритм поиска эйлерова цикла из лекций Е. В. Андреевой:
v:=произвольная вершина графа, обычно первая;
STACK <= v;{вершина заносится в стек}
while (STACK не пуст) do
begin
v := верхний элемент стека STACK;
if (в графе еще есть вершины,
связанные с v) then
begin
u := любая вершина, связанная с v;
STACK <= u;
удаляем ребро {v,u} из графа;
end
else
begin
v <= STACK;{вершина удаляется из стека}
RES <= v{вершина заносится в результат}
end
end;
Сдать: для сдачи задач необходимо войти в систему
856
statement