В настоящее время вы пытаетесь исследовать свойство валентности в молекуле. Здесь валентность - это число связей, соединяющих атом с соседними атомами. Точно говоря, учитывая некоторые положительные N целых чисел, вы хотите знать, может ли существовать молекула, у которой валентные числа атомов одинаковы с целыми числами при соблюдении заданных условий.
1) Каждый атом соединен по крайней мереодна связь, и между двумя атомами может быть несколько связей.
2) Молекула связана, то есть существует путь, состоящий из связей между каждой парой атомов в молекуле.
3) Нет связи между атомом и самим собой.
Для данного списка (который представляет валентность атомов) из N элементов, вы должны вернуть матрицу N by N, которая представляет количество связей между атомами, если таковыемолекула существует. M [i] [j] означает число связей между атомом i и атомом j. Если такая молекула не может существовать, верните None. Вы должны использовать поиск в глубину.
Например, если задано [20, 30, 30], вы должны вернуть [[0, 10, 10], [10,0, 20], [10, 20, 0]]. Если задано [10, 10, 30], вернуть None.