Предмет: Информатика, автор: MiskamYT

A. Лес
Ограничение времени 1 секунда
Ограничение памяти 256Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Дан лес. Найдите количество деревьев в нём.

Гарантируется, что во входных данных лес.

Примечание: Лес — это множество деревьев. Дерево — это связный ациклический граф. Будем считать, что граф, состоящий из одной изолированной вершины, тоже является деревом.

Формат ввода
В первой строке даны два целых числа n (1 ≤ n ≤ 105) и m(0 ≤ m ≤ n-1) - число вершин и ребер соответственно.

В последующих m строках даны два целых числа u и v(1 ≤ u,v ≤ n, ) - две вершины между которыми есть ребро.

Формат вывода
Выведите одно число — количество деревьев в лесу.

Пример
Ввод Вывод
7 4
1 2
3 2
4 5
5 6
3

Ответы

Автор ответа: Zephirka12
0

Ответ:

но у меня 36 баллов ,извиняйте ,как могу

Объяснение:

n,m=map(int,input().split())

tree=[]

count_tree=0

for i in range(m):

   u,v = map(int,input().split())

   not_in_tree = True

   for tr in tree:

       if u in tr:

           if v not in tr:

               tr.append(v)

               count_tree +=1

               not_in_tree=False

               break

       elif v in tr:

           if u not in tr:

               tr.append(u)

               count_tree +=1

               not_in_tree=False

               break

   if not_in_tree:

       tree.append([u,v])

       count_tree +=2

print(len(tree) + (n-count_tree))

Похожие вопросы
Предмет: Русский язык, автор: леонтьева2