페이지

11403번: 경로 찾기

https://www.acmicpc.net/problem/11403


$O(n^3)$

플로이드 알고리즘을 사용한다.


#include<cstdio>
int n, c[100][100];
int main() {
    scanf("%d", &n);
    for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) scanf("%d", &c[i][j]);
    for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) for (int k = 0; k < n; k++) c[j][k] |= c[j][i] & c[i][k];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) printf("%d ", c[i][j]);
        puts("");
    }
    return 0;
}

댓글 없음 :

댓글 쓰기