Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ЕГЭ
ОГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python с отладкой
Питон - Черепашка
Редактор HTML Code
SQLite Studio - работа с БД
Статья Автор:
Дубинин Дмитрий
2 - Марио
def BFS( G, v0 ): k = [] visited = [False]*len(G) queue = [v0] while queue: v = queue.pop(0) visited[v] = True k.append(v+1) for nxt in G[v]: if not visited[nxt]: visited[nxt] = True queue.append(nxt) return k, visited n, s = map(int, input().split()) g = [] for i in range(n): g.append(list(map(int, input().split()))) for i in range(n): for j in range(len(g[i])): g[i][j] -= 1 k1, k2 = BFS(g, s-1) if k2 == [True] * n: print(*k1) else: print("НЕТ") ------------------------------------------------------------------------- def BFS(G, v0): k = [] visited = [False] * len(G) queue = [v0] visited[v0] = True # отмечаем сразу при добавлении while queue: v = queue.pop(0) k.append(v + 1) # G[v] уже отсортирован заранее for nxt in G[v]: if not visited[nxt]: visited[nxt] = True queue.append(nxt) return k, visited n, s = map(int, input().split()) g = [] for i in range(n): row = list(map(int, input().split())) # Преобразуем в 0-индексацию row = [x - 1 for x in row] # Сортируем в порядке возрастания (требование условия) row.sort() g.append(row) k1, k2 = BFS(g, s - 1) if all(k2): print(*k1) else: print("НЕТ")
×
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать