August 24, 2021
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
graph = [list(map(int, input().split())) for _ in range(n)]
def bfs(x):
visit = [0] * n
queue = deque([x])
# 인접 리스트가 아닌 인접 행렬이기 때문에 visit[x] = 1와 같이 바로 방문 체크를 해주면 안 된다.
while queue:
v = queue.popleft()
for i in range(n):
if graph[v][i] == 1 and not visit[i]:
queue.append(i)
visit[i] = 1
for i in range(n):
print(visit[i], end=' ')
print()
for i in range(n):
bfs(i)