Я не могу найти источник моей ошибки во время выполнения. Реализована рекурсия для решения проблемы - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь ответить на эту проблему о силе кода. Здесь - мое последнее сообщение (я думаю, что другие могут быть найдены оттуда).

Мой метод: чтение входных данных. Список списков «mapp» хранит города, которые связаны с городом, представленным индексом списка, т.е. mapp [i-1] представляет города, связанные с i-м городом. Я использую метод DFS, чтобы решить проблему согласно учебнику для проблемы.

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

n = int(input())

def hasChildren(prev, current):
    node = mapp[current-1]
    travelled = 0.0
    l1 = len(node)

    if len(node) == 1 and node[0] == prev:
        return 0.0

    for elem in node:
        if elem == prev:
            l1 -= 1.0
        else:
            travelled += (1.0+hasChildren(current, elem))

    return travelled/l1


if n == 1:
    print("%.6f" % 0.000000)
else:
    mapp = [[] for x in range(n)]

    for x in range(n-1):
        [u,v] = list(map(int, input().split(" ")))
        mapp[u-1].append(v)
        mapp[v-1].append(u)
    length = hasChildren(1,1)
    print("%.6f" %length)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...