Статья Автор: Толстова Дарина

Заметки

from collections import deque

n, s, v1, v2 = map(int, input().split())
s -= 1
v1 -= 1
v2 -= 1

graph = [list(map(int, input().split())) for _ in range(n)]

# BFS
dist = [float('inf')] * n
dist[s] = 0

queue = deque([s])

while queue:
    u = queue.popleft()
    for v in range(n):
        if graph[u][v] == 1 and dist[v] == float('inf'):
            dist[v] = dist[u] + 1
            queue.append(v)

# учитываем секретный ход
d1 = min(dist[v1], 10000)
d2 = min(dist[v2], 10000)

# ответ
print(1 if d1 < d2 else 0)

1
n,m=map(int,input().split())
a=[[0]*(n+1) for _ in range(n+1)]
for _ in range(m):
    x,y=map(int,input().split())
    a[x][y]=1
    a[y][x]=1
for i in range(1,n+1):
    for j in range(i+1,n+1):
        if a[i][j]==0:
            print('NO')
            exit()
print('YES')
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать