Я пытаюсь ответить на эту проблему о силе кода. Здесь - мое последнее сообщение (я думаю, что другие могут быть найдены оттуда).
Мой метод: чтение входных данных. Список списков «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)