Статья Автор: Ратькин Иван

Двудольный не двудольный

def dfs(start):  
   global f
   for j in V[start]:
       if colored[j]==0:
           if colored[start]==1:
               colored[j]=2
           if colored[start]==2:
               colored[j]=1
           dfs(j)
       if colored[j]!=0:
           if colored[j]==colored[start]:
               f="NO"
              
          

n, m = map(int, input().split())
f="YES"
colored=[0]*(n)
Visited = [False]*(n)
V = [set() for i in range(n)]
for i in range(m):
    u, v = map(int, input().split())
    u=u-1
    v=v-1
    V[u].add(v)
    V[v].add(u)
for i in range(n):
  if colored[i]==0:
      colored[i]=1
      dfs(i)
print(f)
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать