Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

코드와이

[BAEKJOON] 11403. 경로 찾기 본문

acmicpc

[BAEKJOON] 11403. 경로 찾기

코드와이 2021. 4. 22. 18:19

 

플로이드 와샬

문제링크

www.acmicpc.net/problem/11403

 

11403번: 경로 찾기

가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

package acmicpc.Silver1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class 경로_찾기 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
			
		int n = Integer.parseInt(br.readLine());
		
		int[][] arr = new int[n][n];
		for(int i = 0 ; i < n ; i++) {
			st = new StringTokenizer(br.readLine());
			for(int j = 0 ; j < n ; j++) {
				int x = Integer.parseInt(st.nextToken());
				if(x == 0) arr[i][j] = 10;
				else arr[i][j] = x;
			}
		}

		for(int k = 0 ; k < n ; k++) {
			for(int i = 0 ; i < n ; i++) {
				for(int j = 0 ; j < n ; j++) {
					if(arr[i][k] + arr[k][j] < arr[i][j]) arr[i][j] = 1; 
				}
			}
		}
		
		for(int i = 0 ; i < n ; i++) {
			for(int j = 0 ; j < n ; j++) {
				System.out.print(arr[i][j] >= 10 ? 0 + " " : 1 + " ");
			}
			System.out.println();
		}
	}
}

'acmicpc' 카테고리의 다른 글

[BAEKJOON] 1904. 01타일  (0) 2021.04.24
[BAEKJOON] 2623. 음악프로그램  (0) 2021.04.23
[BAEKJOON] 11404. 플로이드  (0) 2021.04.22
[BAEKJOON] 15683. 감시  (0) 2021.04.21
[BAEKJOON] 16985. Maaaaaaaaaze  (0) 2021.04.21