Python题解(二分图)
查看原帖
Python题解(二分图)
961118
sdnu0311楼主2025/8/4 20:12
n=int(input())
graph=[[]for i in range(n+1)]
vis=[0 for i in range(n+1)]
order=[]
nums=[0 for i in range(n+1)]
for i in range(n-1):
    u,v=map(int,input().split())
    graph[u].append(v)
    graph[v].append(u)
    order.append([u,v])
def paint(u):
    for v in graph[u]:
        if vis[v]==0:
            vis[v]=1
            nums[v]=1-nums[u]
            paint(v)
for i in range(1,n+1):
    if vis[i]==0:
        vis[i]=1
        nums[i]=1
        paint(i)
for orders in order:
    u,v=orders[0],orders[1]
    if nums[u]==0:
        print(1)
    else:
        print(0)
2025/8/4 20:12
加载中...