ALEXMATH

Информатика. ОГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 4. Информатика. ОГЭ. Ушаков 2025-16

Просмотры: 836
Изменено: 1 февраля 2025

Между населёнными пунктами \(A, \, B, \, C, \, D, \, E, \, F\) построены дороги, протяжённость которых (в километрах) приведена в таблице.

ABCDEF
A 610315
B 8492
C68 229
D1042 36
E3923 
F15296 

Определите длину кратчайшего пути между пунктами \(A\) и \(F,\) проходящего через пункт \(C.\) Передвигаться можно только по дорогам, протяжённость которых указана в таблице, два раза посещать один пункт нельзя.

Решение:

Python


def dfs(graph, beg, end, vis = set(), cur = 0):
    vis.add(beg)
    if beg == end:
        return vis, cur
    min_len = 10**100
    vtmp = None
    for town, dist in graph[beg]:
        if town not in vis:
            v, ml = dfs(graph, town, end, vis | {town}, cur + dist)
            if ml < min_len:
                min_len, vtmp = ml, v
    return vtmp, min_len

W = ((0, 0, 6, 10, 3, 15),
     (0, 0, 8, 4, 9, 2),
     (6, 8, 0, 2, 2, 9),
     (10, 4, 2, 0, 3, 6),
     (3, 9, 2, 3, 0, 0),
     (15, 2, 9, 6, 0, 0))

towns = 'ABCDEF'

G = {towns[i]: [(towns[j], v) for j, v in enumerate(W[i]) if v] for i in range(len(W))}

print(dfs(G, 'C', 'F', *dfs(G, 'A', 'C'))[1])

Ответ: \(13\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году