https://steady-coding.tistory.com/94
import java.io.*;
import java.util.*;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] matrix = new int[N][N];
for(int i=0;i<N;i++){
StringTokenizer st = new StringTokenizer(br.readLine());
for(int j=0;j<N;j++){
matrix[i][j] = Integer.parseInt(st.nextToken());
}
}
//i -> j 가능?, i -> k -> j 가능?
for(int k=0;k<N;k++){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(matrix[i][k] == 1 && matrix[k][j] == 1){
matrix[i][j] = 1;
}
}
}
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
sb.append(matrix[i][j] +" ");
}
sb.append("\n");
}
System.out.print(sb.toString());
}
}